ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
1149
1149
EMPFEHLEN
-
Hallo,
ich möchte gerne einen String durchsuchen und dabei prüfen ob dieser ein besonderes Zeichen enthält. Meine Idee war anfangs mit string.find("Zeichen") die Sache zu erledigen, doch das hat nicht funktioniert. Stattdessen wurde der gesamte Text ausgegeben. Mein Code bis jetzt ist dieser:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
fstream css; string line; css.open("C:/HtmlManager/styles/styles.css",ios::in); if (!css) cout <<"Datei kann nicht ge" <<oe <<"ffnet werden!\n"; else { while(!css.eof()) // solange Dateiende noch nicht erreicht ist { getline(css, line); // Jede Zeile einlesen if (line.find("#")) // funktioniert leider nicht cout <<line <<'\n'; // ausgeben } } css.close();
-
Da würde es halt manchmal Sinn machen die Referenz anzuschauen und dadurch zu erkennen, was std::string::find zurückgibt.
Bei einem Fehler wird std::string::npos (was zumindest bei meiner Implementierung -1 ist) zurückgegeben. Wäre ja auch durchaus sinnlos, wenn 0 einen Fehler indizieren würde, schliesslich kann ja dein # auch an 0-ter Stelle im string stehen.
-
06.05.10 09:36 #3
Moin,
ich muss zugeben, dass ich Deine Frage nicht verstehe ... der Code macht doch genau das, was Du beschrieben hast
Du prüfst, ob die eingelesene Zeile eine Raute enthält - und wenn JA gibst Du sie aus ......
Erkläre mal genau was Du meinst - und poste ggf. mal, was genau Du einliest und was ausgegeben wird !
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
06.05.10 09:42 #4
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Alles klar, ich habe mir diese Referenz angeschaut und dann meinen Code auch ein bisschen umgeschrieben. Der Code sieht jetzt so aus und es funktioniert.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fstream css; string line; size_t found; css.open("C:/HtmlManager/styles/styles.css",ios::in); if (!css) cout <<"Datei kann nicht ge" <<oe <<"ffnet werden!\n"; else { while(getline(css, line)) // solange Dateiende noch nicht { found = line.find("#"); if(found != string::npos) cout <<line <<'\n'; // ausgeben } } css.close();
Ähnliche Themen
-
C++ 2dim string Array durchsuchen (mit String vergleichen) und Zeile ausgeben
Von LKS im Forum C/C++Antworten: 4Letzter Beitrag: 05.12.10, 23:07 -
String durchsuchen
Von Sasser im Forum PHPAntworten: 5Letzter Beitrag: 17.02.10, 01:31 -
VS C++ "In txt einen String nach einem anderen String durchsuchen"
Von Kaldera im Forum C/C++Antworten: 7Letzter Beitrag: 23.11.09, 19:22 -
String durchsuchen
Von trolly im Forum C/C++Antworten: 29Letzter Beitrag: 11.05.09, 17:23 -
String durchsuchen
Von reuabreliz im Forum PHPAntworten: 1Letzter Beitrag: 29.05.08, 12:17





Zitieren

Login






