Forum: Mikrocontroller und Digitale Elektronik hilfestellung zu sscanf


von Jörg (Gast)


Lesenswert?

hi


ich habe vor die funktion sscanf() zu verwenden um einen string in zwei
Teile zu
teilen. Das stell ich mir eigentlich so vor:


  char buffer[10];
  char string1[5];
  char string2[5];
  char results;

//beschreiben von buffer
...


results = sscanf (buffer,"%s.%s",&befehl,&parameter);

...


anstelle des gewünschten ergebnisses erhalte ich allerdings nur die
folgenden warnings:

interpreter.c:111: warning: implicit declaration of function `sscanf'
interpreter.c:111: warning: char format, different type arg (arg 3)
interpreter.c:111: warning: char format, different type arg (arg 4)



habe schon sehr lange nichts mehr mit sscanf gemacht und mir erschließt
sich nicht so ganz
was mir mein PC mit obigen zeilen zu sagen versucht.

Kann mir da vielleicht einer von euch einen tip geben.

Jörg

von Marc (Gast)


Lesenswert?

Hallo Jörg,

es gibt ein GCC Forum, dort paßt Deine Frage besser hin.

Die erste Warnung kommt, weil Du die Bibliothek nicht eingebunden hast,
einfach #include <stdio.h> einfügen. Bei den anderen Warnungen handelt
es um Typprobleme. Die bekomme ich auch nie in den Griff, ich caste
meistens die Parameter und gut.

Weitere Infos unter:

http://jubal.westnet.com/AVR/doc/avr-libc-user-manual/group__avr__stdio.html

Gruss
Marc

von C3PO (Gast)


Lesenswert?

probier mal:
results = sscanf (buffer,"%s.%s",befehl,parameter);
dann sollten die Typprobleme vergessen sein.

Das problem ist, dass befehl und parameter schon Zeiger sind. Wenn das
& stehen bleiben soll, dann musst du &parameter[0] und &befehl[0]
angeben.

von Jörg (Gast)


Lesenswert?

werd mich das nächste mal an das richtige forum wenden
vielen Dank, dass ich trotz der leicht deplazierten frage trotzdem so
gute antworten bekommen habe

werde mich gleich einmal ans ausprobieren machen

Jörg

von Marc (Gast)


Lesenswert?

Sorry, ich habe die Parameter nicht korrekt nachgeschaut.

C3PO sollte natürlich Recht haben.

Gruss
Marc

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.