Forum: Compiler & IDEs PSTR - Problem


von cerberus (Gast)


Lesenswert?

Hallo Forengemeinde

das ...

if(strncmp(command,"time",4)==0) { ... }
else if(strncmp(command,"date",4)==0) { ... }

funktioniert problemlos aber wenn man es ändert zu

if(strncmp(command,PSTR("time"),4)==0)  { ... }
else if(strncmp(command,PSTR("date"),4)==0)  { ... }

wird es zwar anstandslos kompiliert, jedoch funktioniert der Vergleich 
nicht mehr, es wird immer nur die Zeit verändert

Vermutlich habe ich wieder mal irgend was bei diesem PSTR falsch 
verstanden, aber was und wie muss es richtig gemacht werden?

von Werner B. (Gast)


Lesenswert?

> ...falsch verstanden...

Nein, nur die AVR-LibC Doku nicht gelesen.
Überall ein _P dranhängen...

strncmp_P(command,PSTR("date"),4);

von cerberus (Gast)


Lesenswert?

... Asche auf mein Haupt ...
Aber es funktioniert ;-)
Danke.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.