Finder ikke EOF ved filer over 144KB.
Hej eksperterJeg har skavet et program er indlæser en tekst fil til den møder EOF.
De virker helt filt så længe filerne er under 144KB. Men så snart at tekst filen er støre end 144KB kan den ikke file EOF.
Er der nogle der ved hvad der fore sager dette og hvordan kommer jeg ud over dette problem.
Jeg bruger MS Visual C++ 6.0
Her er den kode jeg andvender:
----------------------- C++ kode ---------------------------
#define INPUTFILE "D:\\test\\test.txt"
#include <iostream>
#include <fstream>
#include <io.h>
using namespace std;
void main() {
unsigned long int lines = 0; //!< Line nummer.
char line[80] = {NULL}; //!< Indlæst line.
ifstream in( INPUTFILE );
if(!in) {
cout << "\n************************************************\n";
cout << "* File error! Cannot open file: " << INPUTFILE << " !!! *\n";
cout << "************************************************\n \n";
}
while(!in.eof()) {
in.getline(line, sizeof(line));
cout << "\n"<< lines << ":\t" << line;
lines++;
}
in.close();
}
---------------------- End of C++ kode ---------------------
Når tekst filen er for stor bliver programmet ved med at tælle variablen “lines” op og udskriver den.