Hvis du ikke kender størrelsen kan du naturligvis ikke læse hele indholdet på en gang! Men du kan jo bare lave et while loop der læser indtil du når slutningen på filen...
Fx kan du gøre sådan for at læse al indholdet fra en fil
CFile File; if(File.Open("C:\\MyFile.txt"", CFile::modeRead)) { // Get file length and check for zero length! int nFileLength = File.GetLength(); if(nFileLength == 0) return false;
// Create buffer and read all the data into it char* pDataFromFile = new char[nFileLength+1]; File.Read(pDataFromFile, nFileLength); pDataFromFile[nFileLength] = 0;
Her er hvad jeg gør (det samme som du har skrevet):
CFile File; if(File.Open("C:\text.txt", CFile::modeRead)) { // Get file length and check for zero length! int nFileLength = File.GetLength(); if(nFileLength == 0) { //fejl }
// Create buffer and read all the data into it char* pDataFromFile = new char[nFileLength+1]; File.Read(pDataFromFile, nFileLength); pDataFromFile[nFileLength] = 0;
// Gør hvad du vil med indholdet
printf(pDataFromFile); delete[] pDataFromFile; } else { // Get file length and check for zero length! int nFileLength = File.GetLength(); } }
Problemet er at "File.Open("C:\text.txt", CFile::modeRead)" returnerer 0 selv om filen eksisterer?? Hvad kan problemet være?
delete = single object delete[] = array of objects
pDataFromFile peger på et array af chars (char[])...
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.