Zerschneiden einer Zeichenkette
-
Hallo
Im Moment schreibe ich eine kleine Konsolenanwendung in C. Da muß ich eine Zeichenkette zerlegen. Ein Beispiel:
char mytxt[30];mytext="-40 100";
Jetzt will ich die Zeichenkette zerlegen und den Wert "-40" und "100" in zwei verschiedene integer Variablen schreiben.
Nach den Leerzeichen kann ich breits erfolgreich suchen.Danke für die Hilfe
-
char text[128] = "123 456"; char *ptr = strchr(text, ' '); if(ptr) { *ptr++ = '\0'; // text enthält jetzt die 1. Zahl // ptr zeigt jetzt auf den Anfang der 2. Zahl -> du musst die Strings nur noch in zahlen umwandeln }
-
wenn du auf schmerzen stehst, nimm strtok().
wenn du gerne zu fuss laeufst, probier mal ne kombi aus strchr/strstr, strncpy und atoi.du koenntest auch sscanf ausprobieren, was ich dir persoenlich nahe legen wuerde, wenn dein string immer das selbe format hat ("zahl leerzeichen zahl")
-
Wenn es ganze Zahlen sind, benutze strtol:
#include <stdlib.h> char mytest[] = "-40 100"; long int z1, z2; char* zweite_zahl; z1 = strtol(mytest, &zweite_zahl, 10); z2 = strtol(zweite_zahl, NULL, 10);