Jump to content

Acentos


PJM
 Share

Recommended Posts

Boas tardes.

Estou a começar aprender a programar em C e deparo-me com um problema que por mais que procure não consigo encontrar.

Não consigo mostrar acentos através do ascii (pois esses caracteres ultrapassam o valor 127 com valor signed). Já tentei converter o char sem bit de sinal (de modo a ter um range de 0 a 255 e nada).

Outra coisa é que quando faço strlen() ou a minha propria função de procura do tamanho duma string, deparo-me que as palavras com acento contam como 2...

Alguém sabe como resolver o problema?

Cumprimentos,

    PJM

Link to comment
Share on other sites

a biblioteca está em ->wchar.h

//Com caracteres a 1 byte
char c    = ‘s’;
char *str = “Ola”;
char a[]  = "ola";
//Com caracteres a 2byte
wchar_t c    = ‘s’;    
wchar_t *str = ”Ola”;
wchar_t a[]  = ”Ola”;
Link to comment
Share on other sites

Pelo que li isso passou a fazer parte do C99. Normalmente a standard do C que se considera com "o" standard é o C89. Mas deve funcionar na maior parte das máquinas.

De qualquer modo não sei até que ponto isto resolve o problema. Acho que aquilo que precisas é usar o mesmo enconding a escrever o código que é usado pela consola.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.