ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
674
674
EMPFEHLEN
-
23.11.09 16:55 #1
- Registriert seit
- Nov 2009
- Beiträge
- 5
Folgendes Problem:
Ich habe eine .txt Datei. In dieser Datei sind veschiedene Überschriften mit Texten:
ÜBERSCHRIFT1:
bla
bla bla
und nochmal bla
<-- Leerzeile
ÜBERSCHRIFT2:
bla
<-- Leerzeile
usw. alle unterschiedliche Zeilenanzahl!
Ich will die .txt Datei so auslesen,
dass jeder Text (die blas) in einen eigenen vector<string> abgespeichert werden.
Dabei sollen die Überschriften nicht mit abgespeichert werden!
string str, temp;
vector<string> text1;
ifstream inDatei("texte.txt");
if (!inDatei.is_open())
{
cout << "Fehler
atei konnte nicht geoeffnet werden,"
<< " beliebige Taste zum beenden druecken" << endl;
cin.ignore(2);
exit(1);
}
//schleife drum.... while(inDatei !=EOF) ?
getline(inDatei, temp);
do
{
getline(inDatei, str);
text1.push_back(str);
temp=str.length();
}
while(temp=="\n");
//?
danke im Vorraus
AndyGeändert von Andruschka (23.11.09 um 17:05 Uhr)
-
23.11.09 17:12 #2
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Bitte mach dich erstmal mit dem Forenregeln und Funktionen vertraut. Nutze die Code-Tags.
GrußCode cpp:1 2 3 4 5 6 7 8 9 10 11 12
std::vector<std::vector<std::string> > entries; std::ifstream input(...); std::string line; while (input.ignore(std::numeric_limits<streamsize>::max(), '\n')) { entries.push_back(std::vector<std::string>()); while (std::getline(input, line) && !line.empty()) { entries.back().push_back(line); } }
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
23.11.09 17:12 #3
Moin und Willkommen bei Tutorials.de!
Vorab: nutze bitte zum Posten Deines Codes die Code-Tags (entweder der #-Button im Editor oder Klammerung des Codes mit [_CODE_][/_CODE_] OHNE die Unterstriche!!)
Verstehe ich das richtig? Du willst für jeden Textblock einen eigenen Vektor anlegen?
Warum
Hmm, du liest zunächst die erste Zeile in den String "temp" ein, dann (in der Schleife) die zweite nach "str" und versuchst dann die Länge von "str" in den String "temp" zu schreiben ... das geht ohne zu Casten schonmal nicht!getline(inDatei, temp);
do
{
getline(inDatei, str);
text1.push_back(str);
temp=str.length();
}
while(temp=="\n");
Und was soll Deine Abbruchbedienung bewirken? Da Du ja zuvor die Länge des Strings geschrieben hast (gesetzt den Fall dass das dann klappt), dann wird Deine Bedingung nie erfüllt werden!
Lies einfach solange, bis Dir 'getLine' keine Zeilen mehr liefert (Stichwort EndOfFile/EOF)!
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 !!
-
23.11.09 17:19 #4
- Registriert seit
- Nov 2009
- Beiträge
- 5
Sorry das mit dem Code einfügen hatte ich erst gesehen als es schon abgeschickt war!
Ich benötige für jedes Textfragment einen eigenen Vector!
Meine Idee war
Schleife um das ganze bis EOF
dann erste Zeile jeweils abfangen und wegschmeißen (Überschrift brauch ich nicht)
dann die Zeilen bis zu nächsten Leerzeile in einen vector
und dann das ganze wieder von vorn...
danke
Andy
-
23.11.09 17:31 #5
- Registriert seit
- Nov 2009
- Beiträge
- 5
Code :1 2 3 4 5 6 7 8
getline(inDatei, temp_1); do { getline(inDatei, str); text1.push_back(str); temp=str; } while(!temp.empty());
soweit wäre ich schonmal....
jetzt noch die schleife...
Und wie kann ich das regeln das der das in veschiedene vectoren schreibt? also text1, text2, text3,...
danke
Andy
-
23.11.09 17:56 #6
- 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.
Ähnliche Themen
-
Text aus datei einlesen und in string umwandeln
Von drachentor1 im Forum JavaAntworten: 2Letzter Beitrag: 26.09.10, 14:51 -
Datei in String einlesen danach durchsuchen
Von celloman im Forum JavaAntworten: 17Letzter Beitrag: 05.10.07, 14:27 -
[bc++b6] String aus datei einlesen
Von wedhead im Forum Borland CBuilder und VCLAntworten: 0Letzter Beitrag: 27.02.07, 02:59 -
ein Remote Datei in einen String einlesen
Von ReemE im Forum PHPAntworten: 1Letzter Beitrag: 18.06.05, 11:35 -
Text Datei einlesen und verarbeiten, Trennzeichen bei string wird ignoriert
Von MartinFS im Forum C/C++Antworten: 6Letzter Beitrag: 20.05.05, 10:04





Zitieren

Login






