getline(.txt Datei) andersrum?
-
Hi,
es gibt ja die Funktion getline() mit der man unteranderem aus einer Datei eine
Zeile in einen string einlesen kann.
Meine Frage ist: Gibts es dazu auch ein Gegenstück?
weil:ofstream out; string s("123"); out.open("out.txt",0); out << s //Geht nicht out.close()
Geht nicht..
MFG!
-
doch klar geht das so...
aber in der zeile:
out.open("out.txt",0);
was soll die 0 da?
da gehören eigentlich die flags fürs öffnen rein (ob datei neu erstellt wird oder der text an vorhandenes drangehangen wird oder oder oder...)die 0 sorgt denke ich mal dafür dass du nichts reinschreiben kannst...
obendrein bentuz doch RAII, also schreib statt
ofstream out; out.open("out.txt"); out.close();
das hier
ostream out("out.txt"); out.close();
-
Wenn schon RAII, dann aber ohne out.close(). Die Filestreams in C++ werden durch den Destruktor geschlossen.
-
Ja aber wenn ich
string s("123 123 123 123"); out.open(/*...*/); out << s; out.close();
mache, dann wird ja nach dem ersten Leerzeichen (nach 123) nichtmehr weitergemacht und das will ich verhindern.
-
Bei mir funktioniert das Schreiben.
#include <string> #include <fstream> int main() { std::string s("123 123 123 123"); std::ofstream out("test.txt"); if(out) { out << s; } }
Es gibt auch noch das Flag
std::ios_base::skipws
http://www.cplusplus.com/reference/iostream/manipulators/skipws/