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 ;)
 
A

Anzeige

Hallo cmk,

schau mal hier: datei öffnen. Dort wird jeder fündig!
M

mapiox

Tripel-As
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;
}
 
cmk

cmk

Benutzertitel:
geht irgenwie nicht ;( lässt sich compilieren aber den inhalt bekomm ich ent angezeigt
 
M

mapiox

Tripel-As
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 ?(
 
rup

rup

Haudegen
Kann es sein das die erste Zeile deiner test.txt eine Leerzeile ist? Dein Prog. gibt naemlich nur die erste Zeile aus.
 
rup

rup

Haudegen
#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);
}
 
cmk

cmk

Benutzertitel:
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
 
cmk

cmk

Benutzertitel:
geht nicht ;(

kannst du mir mal das koplette projekt schicken?

plzzzzzzzzz

********** danke ;)
 
rup

rup

Haudegen
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:
rup

rup

Haudegen
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

Oben