Dateigrösse
-
Hi, wie bekomme ich nochmal die richtige Dateigrösse ?
Mit GetLength bekomme ich immer denselben Wert, egal welche Datei ich öffne...
CStdioFile Datei; while (Datei.ReadString(Command2, CFile::modeRead)) { int nByteSize = Datei.GetLength(); CString Size; Size.Format("%d",nByteSize); MessageBox(Size); Datei.Close(); } else { }So müsste es eigentlich gehe, aber stimmt leider nicht

Der Wert in "Size" ist immer gleich, egal welcher Dateiname in Command2 steht.
-
Ah ok passt, der Pfad hat nicht gestimmt, jetzt passts
->Closed
-
GetFileSizeEx?
-
Zur Vollständigkeit (mit GetFileSize):
HANDLE hFile=CreateFile("C:\\test.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); DWORD dwSize=GetFileSize(hFile, NULL); DWORD dwError; if (dwSize == 0xFFFFFFFF && (dwError = GetLastError()) != NO_ERROR ) { MessageBox("Fehler xyz...!"); } else { CString dwx; dwx.Format("%d",dwSize); MessageBox(dwx,"Dateigröße in Bytes"); } CloseHandle(hFile);
-
Geht auch einfach mit CFile::GetStatus
http://msdn2.microsoft.com/en-us/library/fa0hc0ht(VS.80).aspx
-
Ok ok....dann also:
long int datgr; CString str_datnam = "c:\\test.txt"; CFileStatus pStat; CFile::GetStatus(str_datnam, pStat); datgr = pStat.m_size; CString gr; gr.Format("%i",datgr); MessageBox(gr);Ja?