14. november 2006 - 17:13Der er
5 kommentarer og 2 løsninger
problem med læsning af string
Hej
jeg skal lave et funktion hvor jeg kan læse og skrive en værdi fra en txt fil. Den værdi som er i filen skal så kunne retuneres.
jeg har fundet ud af at gemme værdier og læse vædier fra en txt men mit problemer at få dem lavet om til en int eller double der kan retuneres, jeg får en underlig fejl.
Her er min kode:
// reading a text file #include <iostream> #include <fstream> #include <string> #include <stdlib.h> using namespace std;
int main () { int p; string line; ifstream myfile ("1.txt"); if (myfile.is_open()) { while (! myfile.eof() ) { getline (myfile,line); cout << line << endl; } myfile.close(); }
ifstream har også en masse stream operatorer som kan bruges til at læse/skrive værdier fra/til filer. Du kan bruge '>>' operatoren direkte på ifstream objekter til at læse værdier fra filen, og '<<' til at skrive værdier til filen. Din kode kunne f.eks simplificeres til dette:
int main () { int p; ifstream myfile ("1.txt"); if (myfile.is_open()) { while (! myfile.eof() ) { myfile >> p; // Læs en 'int' fra filen og placer værdien i 'p' cout << p << endl; } myfile.close(); } else cout << "Unable to open file";
Det virkede havde ellers selv prøvet det, menhavde ikke helt luret hvordan det virkede. men nu virker det. kan du ikke lavet et svar så du kan få point?
Jeg ved ikke men arne kom med hans svar først og nu virker min kode. Prøver dog lige din løsning af også. Vil i dele point eller er det okay arne for dem? For mig er det lige meget :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.