strstr Rückgabe ohne 2. String

Feb 19, 2014 at 12:29pm
Hallo.

ich habe einen Eingabestring, in denen sich mehrere Zahlen ( mit Whitespace getrennt) befinden. Nun möchte ich eine Zahl einlesen, und danach soll er mir in charZgr den restlichen String, also ohne die zuvor eingelesene Zahl einspeichern.

Bsp: "101 102 105 106 0 22 25 ..."

1
2
3
4
5
6
7
8
9
10
11
12
char * charZgr = NULL;
char HilfStr[255];
char Eingabezeile[255];

// Einlesen der ersten Zahl in CharZgr
sscanf(charZgr, "%d", zahl);

// Zahl in char umwandeln
sprintf(HilfStr, "%d", zahl);

// alles vor Zahl abschneiden, soll aber eigtl zahl mitlöschen
charZgr = strstr(Eingabezeile, HilfStr);


Wenn ich jedoch strstr(...,...) benutze habe ich nur alles vor der Zahl abgeschnitten, und sie selbst ist noch vorhanden.
Leider weiß ich nie wie viele Zeichen die Zahl hat, darum kann ich auch nicht fest sagen charZgr++;

Wie kann ich das Problem lösen?

Danke
Feb 19, 2014 at 2:24pm
Benutze strlen(), etwa so:

charZgr = strstr(Eingabezeile, HilfStr) + strlen(HilfStr);

Das gibt dir alles nach der Zahl
Feb 19, 2014 at 2:28pm
perfekt, danke!
Topic archived. No new replies allowed.