String einlesen

How

Grünschnabel
Hallo!

Ich habe mit folgendem ein Problem:

Ich habe einen String, der bspw. folgendes enthält:

"Testdaten 6
Beschreibung Müller wohnhaft München
STR BLT 25 Kafu
STL BT 55 Tafu"

Ich bin jetzt zwar in der Lage alle Worte und Zahlen "einzeln" mit strtok herauszulesen, aber ich muß bspw. in der zweiten Zeile: "Beschreibung Müller wohnhaft München" die gesamte Zeile auslesen. Sobald ich das Wort "Beschreibung" gefunden habe, weiß ich, diese Zeile gehört zusammen und soll nicht einzeln ausgewertet werden.

Beschreibung gefunden, lese bis "Enter" und gebe die gesamte Zeile als neuen String (temp) und den Reststring (orig) [ohne den Inhalt "Beschreibung Müller wohnhaft München"!] an Funktion DoSomething.

Bsp:

Code:
#include <string.h>
#include <stdio.h>

char string[] = "A string of";
char seps[]   = " ,\t\n";

void DoSomething(char* temp, char* orig) {

	printf("%s\t%s\n", temp, orig);
}


void main() {

   char* token;

   unsigned int tokenlength = 0;
   unsigned int origlength = strlen(string);

   token = strtok( string, seps );
 
   while( token != NULL ) {
   
	    tokenlength += strlen(token) + 1;

		tokenlength = (tokenlength > origlength) ? origlength : tokenlength;


		if (temp == "Beschreibung")
		{
			//dann lese bis "Enter" die gesamte Zeile
			//Hier habe ich das Problem
		}
		DoSomething(token, string + tokenlength);
		
		token = strtok( NULL, seps );
	}
}

Danke!
 
Ich dachte mein Problem hätte ich klar ausgedrückt. Ich habe in der folgenden Zeile ein Problem:
Code:
		if (temp == "Beschreibung")
		{
			//dann lese bis "Enter" die gesamte Zeile
			//übergebe gesamte Zeile "Beschreibung Müller wohnhaft München" an temp
			//Hier habe ich das Problem!
		}

Nachdem ich "Beschreibung" gefunden habe, möchte ich bis zum Zeilenende (nächstes Enter) alle Worte im ganzen lesen ("Beschreibung Müller wohnhaft München") und dann diesen String als temp weiterleiten, und da hakt es bei mir.
 

Neue Beiträge

Zurück