frage zu string und op <<
-
ok, ich frag das hier, weil ich mir absolut nicht sicher bin, ob das so stimmt...
wenn ich einen string über op<< in eine datei schreiben will,muss ich das dann so machen?
string a; file<<a.size(); file<<a;
oder so?
file<<a.size(); file<<a; file<<'\0';
oder ganz anders?
die bcb hilfe hat dazu leider nichts hergegeben
-
otze schrieb:
ok, ich frag das hier, weil ich mir absolut nicht sicher bin, ob das so stimmt...
wenn ich einen string über op<< in eine datei schreiben will,muss ich das dann so machen?
string a; file<<a.size(); file<<a;
oder so?
file<<a.size(); file<<a; file<<'\0';
oder ganz anders?
die bcb hilfe hat dazu leider nichts hergegeben
einfacher
string a; file << a;
-
kann sein dass ich nicht richtig verstehe aber wenn du nur den string selbst reinschreiben willst sollte doch dass hier genügen oder -->
#include <fstream> //#include <iostream> #include <string> using namespace std; int main() { ofstream write("test.txt"); string str="test"; write<<str; // cin.get(); return 0; }
hoffe ich hab nichts falsch verstanden
-
und wie krieg ich hinterher in der datei raus,wie groß der string ist, wenn ich ein array von strings in die datei schreibe? das size muss schon sein, deshalb auch die frage, weil ich nich weis, ob der op<< gleich noch '\0' dranhängt oder nicht.
//edit achne is klar, ich idiot,der kann doch kein '\0' anhängen weill dann fstream bei lesen aufgibt, ok dann muss ich meine schleifen verändern *hust* *hust*
<--rotwerd
-
string ReadString(istream& i) { int n =0; i >> n; if(n > 1) { char * c = new char[n]; i.read(c,n); string s =c; delete[] c; return s; } return ""; } void WriteString(ostream & o, string s) { o << (int)s.size()+1; if(s.size()>0) o << s << '\0'; else o << ' '; }
Devil