bestimmte Werte aus string auslesen

pepsi_gx

Erfahrenes Mitglied
Hallo,

vermute, so einen String "char* string" mit folgendem Inhalt habe ich:

C++:
x   =   1
y   =   2
z   =   3

mit einer Suchfunktion möchte ich die jeweiligen Zahlen auslesen. Daher habe ich folgendes geschrieben:
C++:
	char *pdest;
	int  result;
	
	printf( "String to be searched:\n   %s\n", string);
	pdest = strstr( string, "x");
	result = (int)(pdest - string + 1);
	if ( pdest != NULL )
		printf( "%s found at position %d\n", Tag, result);
	else
		printf( "%s not found\n", Tag);

Die Funktion liefert die Position von "x" zurück, was soll ich weitermachen, um die Zahl hinter "x =" auszulesen?

LG
 
Hi.

Warum willst du das so kompliziert machen?

C:
int x, y, z;
if (sscanf(string, "x = %d y = %d z = %d", &x, &y, &z) == 3) {
  ...
}
In C++ würde man die IOStreams verwenden.

Gruß
 
Warum willst du das so kompliziert machen?

Weil der Inhalt von string ist kompliziert, z.B.
C++:
x   = 1 k
y   = 2 k
z   = 3 k

Und ich bin nicht sicher, ob die Leerzeichen zwischen z.B "x" und "=" auch ne Rolle spielt, weil die Anzahl davon kann variabel sein.

In C++ würde man die IOStreams verwenden.

Genau das ist der Ursprung von string. D.h., string bekommt Inhalt von einer Datei.

Dein Code ist schon ein guter Ansatz für mich, danke!
 

Neue Beiträge

Zurück