hilfestellung zu sscanf

Gast #129522
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
Gast #129523
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
Gast #129524
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.
Gast #129525
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren