Isso é meio complicado. Depende da codificação da string (UTF-8, UTF-16, ISO-8859-1, ...)
Exemplo: se o seu programa for compilado no UTF-8 e você usá-lo num sistema com ISO-8859-1, ele vai
interpretar os caracteres acentuados de maneira diferente -- e, consequentemente, não serão mais 'caracteres acentuados' para o seu programa (do ponto de vista de um programa em C, o 'caractere unicode' é, na verdade, uma string, pois é composta de dois caracteres [dois bytes]). Tentei fazer isso, mas não deu muito certo.