#include <wchar.h>
#include <locale.h>
#include <stdlib.h>

void show(char* str)
{
    while(str && *str)
        if(*str != '%')
            putwchar(btowc(*str++));
        else
            putwchar(strtoul(str+1, &str, 16));
}

int main()
{
    setlocale(LC_ALL, "");
    char str[] = "DDD %C5 ir";
    show(str);
} 



