14. juli 2005 - 19:58Der er
9 kommentarer og 1 løsning
Hjælp til fstream
Hej jeg sad lige og legede med at skrive og læse fra en fil - fik lavet følgende kode, men af en eller anden grund jeg ikke lige kan gennemsku dur det bare ikke.. Håber I kan hjælpe, koden er her:
#include <iostream> #include <fstream> using namespace std;
int main() { // File to read and write to fstream test; // A small buffer for the reading char buffer[256];
// fstream file opens in appending, reading and writing mode // we want to append the text test.open("example.txt", fstream::app | fstream::in | fstream::out);
// Check whether the file is open if(!test.is_open()){ cout << "Error opening file" << endl; return 1; }
// Lets write something to the file test << "This is a line\n"; test << "This is another line\n";
// Lets read that from the file while(!test.eof()){ test.getline(buffer, 100); cout << buffer; }
#include <iostream> #include <fstream> using namespace std;
int main() { // File to read and write to ofstream outFile; ifstream inFile;
// A small buffer for the reading char buffer[256];
// We start by writing to the file outFile.open("example.txt", ios::out | ios::app );
// Check whether the file is open if(!outFile.is_open()){ cout << "Error opening file" << endl; return 1; }
// Lets write something to the file outFile << "This is a line\n"; outFile << "This is another line\n";
// Done writing - lets close outFile.close();
// Open the file for reading inFile.open("example.txt");
// Check whether the file is open if(!inFile.is_open()){ cout << "Error opening file" << endl; return 1; }
// Lets read that from the file while(!inFile.eof()){ inFile.getline(buffer, 100); cout << buffer; }
// Remember to close the file inFile.close();
return 0; }
Det virker også fint, det undrer mig bare stadig at det først ikke dur? Jeg synes at have læst at hvis man åbner en fstream fil så kan man både læst og skrive til den.. Jeg kan godt se at der formentligt er nogle problemer med pointeren i filen (der nok i hvert fald skal spooles tilbage til starten af filen når der skal læses). Men den fejler allerede når jeg prøver at åbne filen, tror lige jeg vil eksperimentere lidt med det... Smid et svar Arne, så får du lige dine point..
>> fstream::out => start med at skriv i starten af filen >> >> fstream::app => start med at skriv i slutningen af filen
Jeg må vist heller lige læse om de flag igen :)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.