A função STRCMP apresenta erro na compilação.

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

A função STRCMP apresenta erro na compilação.

Mensagempor fabio_pic » 30 Jan 2009 17:33

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.
fabio_pic
Nibble
 
Mensagens: 81
Registrado em: 03 Set 2007 09:04
Localização: Rio de Janeiro

Mensagempor joao » 30 Jan 2009 20:45

Ola Fabio,

Dá uma olhada neste tópico aqui do fórum:
http://www.asm51.eng.br/phpbb/viewtopic ... 804d589690

[]'s
Avatar do usuário
joao
Byte
 
Mensagens: 463
Registrado em: 17 Out 2006 08:21

Mensagempor msamsoniuk » 30 Jan 2009 23:02

acho que ajudaria mais se soubessemos como "vetor_dados" eh declarado.
#innovation #poweredby #riscv https://github.com/darklife/darkriscv
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor fabio_pic » 31 Jan 2009 09:08

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.
fabio_pic
Nibble
 
Mensagens: 81
Registrado em: 03 Set 2007 09:04
Localização: Rio de Janeiro

Mensagempor msamsoniuk » 31 Jan 2009 14:02

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.
#innovation #poweredby #riscv https://github.com/darklife/darkriscv
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

cron

x