datei öffnen

cmk

cmk

Benutzertitel:
also ich komm ja aus der php welt ;)
da würde ich ne datei folgendermasen in ein array laden uns ausgeben:

1. txt datei öffnen
2. feststellen wie viele zeilen drin sind
3. mit foreach schleife alles in array laden

wie geht das in c++?

int main()
{
fstream datei( "test.txt", ios::in );
string buffer;
getline( datei, buffer );
cout << buffer;
}

das will net so recht ;)
 
Code:
#include <iostream>
#include <fstream>
#include <vector>
#include <string>

using namespace std;

int main()
{
	//öffnen
	ifstream file("test.txt");

	// vector
	vector<string> vec;

	// gelesene Zeilen in vector einfügen
	for (string line; getline(file, line); )
        vec.push_back(line);


	// schließen
	file.close();

	// ausgeben
	for(int i=0; i<vec.size(); ++i)
		cout << vec[i] << endl;
}
 
geht irgenwie nicht ;( lässt sich compilieren aber den inhalt bekomm ich ent angezeigt
 
funktioniert bei mir beides
Code:
#include <fstream>
#include <string>
#include <iostream>
using namespace std;

int main()
{
    fstream datei( "test.txt", ios::in );
    string buffer;
    getline( datei, buffer );
    cout << buffer;
}
compillieren:
Code:
g++ app_name.cpp -o app_name
ausführen:
Code:
./app_name

versteh nicht warum das nicht gehen soll ?(
 
Kann es sein das die erste Zeile deiner test.txt eine Leerzeile ist? Dein Prog. gibt naemlich nur die erste Zeile aus.
 
#include <fstream>
#include <string>
#include <iostream>
using namespace std;

int main()
{
fstream datei( "test.txt", ios::in );
string buffer;
while(getline( datei, buffer ))
cout << buffer << endl;
exit(0);
}
 
danke werd mal wenn ich zuhause bin alles durchprobieren

das letzte beispiel von rup is für mich irgendwie viel leichter zu verstehen ;) hoffentlich funkt es auch aber schonmal danke
 
geht nicht ;(

kannst du mir mal das koplette projekt schicken?

plzzzzzzzzz

********** danke ;)
 
Was verstehst du unter kompletten Projekt?
vieleicht als Shellskript? Dateien erstellen, kompilieren und ausfuehren ;) Einfach den Code unten als Projekt.sh speichern und mit "sh Projekt.sh" aufrufen.
Nein im Ernst, also der Code sollte auf alle Faelle funzen. Kann es eventuell sein das es irgendwelche Probleme mit DOS-Zeilenumbruch gibt?

Gruss Rupert

_____________________________________
#!/bin/bash

cat > source.cpp << EOF
#include <fstream>
#include <string>
#include <iostream>
using namespace std;

int main()
{
fstream datei( "test.txt", ios::in );
string buffer;
while(getline( datei, buffer ))
cout << buffer << endl;
exit(0);
}
EOF

cat > test.txt << EOF
das ist ein test
das ist der zweite Test
die dritte Zeile
EOF

g++ source.cpp && ./a.out || echo "Achtung Fehler"
_____________________________________
 
Zuletzt bearbeitet:
das letzte beispiel von rup is für mich irgendwie viel leichter zu verstehen

Das ist genau der Code von mapiox nur mit einer while Schleife, damit alle Zeilen gelesen und ausgegeben werden.
 

Ähnliche Themen

Problem mit Texteingabe

in_array Problem

Problem mit std::ifstream

Richtige Syntax benötigt!

String-Return

Zurück
Oben