Página 1 de 1
A função STRCMP apresenta erro na compilação.

Enviado:
30 Jan 2009 17:33
por fabio_pic
Boa tarde senhores,
Estou tentando fazer uma comparação entre duas strings no CCS mas na compilação apresenta o erro "Attempt to create a pointer to a constant".
A linha do código é a seguinte:
if (strcmp(vetor_dados, "OK"))
Agradeço desde já.
Fábio.

Enviado:
30 Jan 2009 20:45
por joao
Ola Fabio,
Dá uma olhada neste tópico aqui do fórum:
http://www.asm51.eng.br/phpbb/viewtopic ... 804d589690
[]'s

Enviado:
30 Jan 2009 23:02
por msamsoniuk
acho que ajudaria mais se soubessemos como "vetor_dados" eh declarado.

Enviado:
31 Jan 2009 09:08
por fabio_pic
Obrigado joao. Já li este tópico mas parece que estou com problema na sintaxe da strcmp().
Marcelo,
O vetor foi declarado da seguinte forma:
char vetor_retorno[]={0,0,0,0,0};
Abraços,
Fábio.

Enviado:
31 Jan 2009 14:02
por msamsoniuk
ah, mas quando vc declara p[] sem tamanho eh praticamente o mesmo que declarar *p e atribuir, ou seja, o que o compilador vai fazer eh criar um ponteiro para uma area constante, possivelmente na flash, e strcpy() sabe disso jah em tempo de compilacao, motivo pelo qual ele alerta vc.
entao vc tem que declarar explicitamente p[tamanho], assim eh efetivamente criado um array com o tamanho desejado. e vc nao precisa iniciar esse array inteiro, basta usar a notacao de string normal:
char p[32] = "";
vai reservar 32 bytes e iniciar com uma string vazia. desta forma strcpy() detecta que o destino eh em area de memoria ram e passa a funcionar corretamente.