Forum: Mikrocontroller und Digitale Elektronik sscanf()


von tobias hofer (Gast)


Lesenswert?

Hallo

Ich habe da ein bisschen mühe mit der sscanf() funktion. und zwar
habe ich folgenden beispiel string:

C1_12345_9876

die variablen:
char a
int b,c

nach dem string auslesen sollte

a = C1
b = 12345
c = 9876

sein.

Kann hier jemand weiterhelfen wie ich das mit sscanf ausgelesen
bekomme?

besten dank

tobias

von Robert W. (rweber)


Lesenswert?

Ganz spontan würde ich sagen:

char *p="C1_12345_9876";

char a[3];
int b,c;

sscanf(p, "%2s_%d_%d", &a, &b, &c);

Gruß,
rweber

von tobias hofer (Gast)


Lesenswert?

Hallo

Funktioniert bestens.

danke

tobias

von Robert W. (rweber)


Lesenswert?

Das ist allerdings nur Wasserdicht, wenn Du dich darauf verlassen
kannst, daß vor dem ersten Unterstrich max 2 Zeichen stehen, sonst
ist das char a[] Array zu klein.

Gruß,
rweber

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.