22. januar 2004 - 14:30
Der er
6 kommentarer og 2 løsninger
læse fra fil bliver et sjovt tal
jeg har fundet ud af at få skrevet tallet 3 ned i en tekst fil og prøver så at læse tallet igen. men min cout skriver et andet tal (2293664) Koden er følgende: #include <iostream> #include <fstream> using namespace std; int main() { int AntalReboots = 3; int Nummer; ifstream in; ofstream out; in.open("c:\\runner.txt"); if (in.fail()) { out.open("c:\\runner.txt"); out << AntalReboots; out.close(); in.open("c:\\runner.txt"); } in >> Nummer; in.close(); cout << Nummer; }
Annonceindlæg fra Infor
22. januar 2004 - 15:22
#3
Man kan tilsyneladende ikke genbruge ifstream objektet. Følgende virker: #include <iostream> #include <fstream> using namespace std; int main() { int AntalReboots = 3; int Nummer; ifstream *in = new ifstream(); ofstream out; in->open("runner.txt"); if(in->fail()) { cout << "in failed - creating file" << endl; in->close(); out.open("runner.txt"); out << AntalReboots; out.close(); delete in; in = new ifstream(); in->open("runner.txt"); if(in->fail()) { cout << "what???" << endl; } } cout << "in opened !" << endl; *in >> Nummer; cout << Nummer; delete in; return 0; }
22. januar 2004 - 15:43
#4
#include <iostream> #include <fstream> using namespace std; int main() { int AntalReboots = 3; int Nummer; ifstream in; ofstream out; in.open("c:\\runner.txt"); if (in.fail()) { in.close(); in.clear(); // <--------- out.open("c:\\runner.txt"); out << AntalReboots << endl; out.close(); in.open("c:\\runner.txt"); } in >> Nummer; in.close(); cout << Nummer << endl; } virker !