[C] Weird... transformar caracteres especiais

taca

Power Member
boas

vou expor o meu problema:

tenho esta linha de codigo que serve para tirar o dia da semana de hoje:

strftime(d_semana, sizeof(d_semana), "%A", ts);

o problema é que há dias com acento (mas quem é que teve a infeliz ideia de inventar sábado, com acento no a???>()

o utilizador introduz um dia, e depois compara-se o dia que o user introduziu com d_semana.

Só que aos sábados a comparação não funca porque o user mete "sabado" e o d_semana dá "sβbado".


Alguém me pode dizer como é que eu transformo o char "sβbado" para "sabado"?

Cumprimentos
 
Última edição:
ja me tem acontecido isso em c++..leio de um ficheiro,mostro na consola e aparecem esses caracteres nos acentos,mas depois imprimo para o ficheiro e dá ok,leva-me a crer que seja do charset da consola ou algo do genero n sei,por acaso até me dava jeito resolver isso :007:
 
Nas opções do projecto, vai ao separador Parameters e no campo Compiler adiciona os seguintes comandos: "-finput-charset=ISO-8859-1 -fexec-charset=cp437".

NOTE: se quiseres que este comando faça efeito para todos os projectos que crias, vais às opções do compilador e na aba Compiler pões um visto na opção "Add the following commands when calling the compiler" e na caixa de texto por baixo adicionas o mesmo texto de à bocado.

Espero ter ajudado...
 
Nas opções do projecto, vai ao separador Parameters e no campo Compiler adiciona os seguintes comandos: "-finput-charset=ISO-8859-1 -fexec-charset=cp437".

NOTE: se quiseres que este comando faça efeito para todos os projectos que crias, vais às opções do compilador e na aba Compiler pões um visto na opção "Add the following commands when calling the compiler" e na caixa de texto por baixo adicionas o mesmo texto de à bocado.

Espero ter ajudado...

É possivel fazer isso com o djgpp ?
 
Utiliza esta função
numcharConv = MultiByteToWideChar(CP_UTF8,MB_ERR_INVALID_CHARS,valor,_mbstrlen(valor),textRet,maxLen);
esta função converte para o formato UTF8....
 
Nas opções do projecto, vai ao separador Parameters e no campo Compiler adiciona os seguintes comandos: "-finput-charset=ISO-8859-1 -fexec-charset=cp437".

NOTE: se quiseres que este comando faça efeito para todos os projectos que crias, vais às opções do compilador e na aba Compiler pões um visto na opção "Add the following commands when calling the compiler" e na caixa de texto por baixo adicionas o mesmo texto de à bocado.

Espero ter ajudado...
Já há algum tempo que andava à procura da solução para este problema:D
Obrigado pela solução:x2:
Fiquem bem.
 
Back
Topo