Textdatei auslesen und Zeilen in Array spiechern
-
Hallo.
Hätte jemand vielleicht einen kleinen Codesnippet für mich?
Ich würde nämlich gerne eine Textdatei auslesen und die Zeilen dann jeweils in einem Array speichern.Dies waren meine Versuche:
string voc; ifstream voc_stream; voc_stream.open("./vocs.txt", ios_base::in); vector<string> lines; while(!voc_stream.eof()) { getline(voc_stream, //lines.push_back( Hier weiß ich nicht, was ich als 2. Parameter angeben muss }Gruß Speedy_92
-
Dies ist mein neuer Versuch:
string voc; ifstream voc_stream; voc_stream.open("./vocs.txt", ios_base::in); vector<string> lines; while(!voc_stream.eof()) { string temp; getline(voc_stream, temp); lines.push_back(temp); } voc_stream.close();hättet ihr vielleicht einen verbesserungsvorschlag?
-
Vielleicht so?
ifstream voc_stream("./vocs.txt"); vector<string> lines; string temp; while(getline(voc_stream, temp)) { lines.push_back(temp); }
-
Vielen Dank. So ist es perfekt.

-
Beim einlesen auf eof() zu prüfen, ist keine gute Idee, weil du dann nicht mitkriegst, wenn vor dem Ende ein Fehler auftritt und das fail oder badbit gesetzt wird. http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=eof#Answ
-
Danke... dann werde ich mal lieber Braunstein's Version benutzen.
Noch eine kleine Frage:
Wie kann ich eine Datei aus dem aktuellen Verzeichnis aufrufen? Bei mir klappt es immer nur mit dem Vollständigen Pfad. So z.B.
C:\******\\Projekte\\C++\\VocTrainer\\Debug\\vocs.txt
-
... also ich möchte aus meiner txt datei nicht alles im programm sehn nur ein paar zeichen aus der textdatei wie kireg ich das hin dass ich das hin???
also ich kann euch zeigen was ich schon gemacht habe
:::#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <math.h>main ()
{
char hp[20], string[80], pfad[]=" > C:\\programm.txt";
int i,laenge;printf("Geben Sie die gew\x81nschte internet Adresse ein: ");
gets(hp);strcpy(string, "ping ");
strcat(string, hp);
strcat(string, pfad);
system(string);//printf("( g %s);",hp);
laenge = strlen(hp);
/* ifstream voc_stream("C:\\programm.txt");
vector<string> lines;
string temp;
while(getline(voc_stream, temp))
{
lines.push_back(temp);
}
*/getch();
}nur das klappt i wie nich
... ich versteh auch nich warum
... und ich glaube wennsch das so mache dann kriegsch die ganze textdatei da rein aber wie gesagt ich will nur ein paar zeichen haben...die textdatei sieht im moment so aus und wird ständig verändert::
Ping www.l.google.com [74.125.39.103] mit 32 Bytes Daten:
Zeitberschreitung der Anforderung.
Zeitberschreitung der Anforderung.
Zeitberschreitung der Anforderung.
und das was in "[...]" ist will ich in meinem programm haben... also das programm soll ungefähr so aussehn:
Bitte geben sie ihre Adresse an: // dann gibt man die die adresse an z.B. www.google.de
die IP der angegebenen adresse lautet: // die einfügung aus der textdatei
könnte mir einer bitte helfen??
