Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

PJM

Acentos

Mensagens Recomendadas

PJM

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PJM

Sim o problema é que o strlen não posso usar, já fiz a função. Agora não sei como usar caracteres em unicode :\ tens algum exemplo?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
DVD

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”;

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.