Nykyisessä projektissa tarvitaan tiedoston kokoa, jotta voi laskea kopioinnin tiedonsiirtonopeuden. Ongelmana on että tiedostot voivat olla hyvin suuria, jopa yli 2 gigan kokoisia, joten 32-bittinen koon selvitys (GetFileSize) ei sovi. Helpeissä mainittu GetFileSizeEx taas ei tunnu toimivan (tulee käännösvirhe). Mikä olisi paras tapa saada tuollaisen suuren tiedoston koko ?
Visual C++ 6.0: suuren tiedoston koko
6
917
Vastaukset
- juupajuujoo
"Helpeissä mainittu GetFileSizeEx taas ei tunnu toimivan (tulee käännösvirhe)"
kannattanee korjata se virhe. jos et osaa, pistä tänne se kyseinen koodinpätkä niin katotaan- The Real J.
Funktio:
__int64 CFileCopyTimerDlg::SizeOfFile(CString filename)
{
LARGE_INTEGER filedata;
HANDLE filehandle;
// Try to open the file for read access
filehandle = CreateFile(filename.operator LPCTSTR(),
GENERIC_READ,
0,
NULL,
0,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (filehandle == INVALID_HANDLE_VALUE)
return 0; // Failed, just return 0
// Get size of file to struct
if (GetFileSizeEx(filehandle, &filedata))
{
CloseHandle(filehandle);
return (__int64)(filedata.QuadPart);
}
CloseHandle(filehandle);
return 0;
}
Virheilmoitus:
FileCopyTimerDlg.cpp
C:\Data\FileCopyTimer\FileCopyTimerDlg.cpp(580) : error C2065: 'GetFileSizeEx' : undeclared identifier
Error executing cl.exe. - usdhfsidufh
The Real J. kirjoitti:
Funktio:
__int64 CFileCopyTimerDlg::SizeOfFile(CString filename)
{
LARGE_INTEGER filedata;
HANDLE filehandle;
// Try to open the file for read access
filehandle = CreateFile(filename.operator LPCTSTR(),
GENERIC_READ,
0,
NULL,
0,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (filehandle == INVALID_HANDLE_VALUE)
return 0; // Failed, just return 0
// Get size of file to struct
if (GetFileSizeEx(filehandle, &filedata))
{
CloseHandle(filehandle);
return (__int64)(filedata.QuadPart);
}
CloseHandle(filehandle);
return 0;
}
Virheilmoitus:
FileCopyTimerDlg.cpp
C:\Data\FileCopyTimer\FileCopyTimerDlg.cpp(580) : error C2065: 'GetFileSizeEx' : undeclared identifier
Error executing cl.exe.ongelma on tuo vc 6.0 joka on ikivanha eikä tue tuota funktiota. ei taida auttaa muu kun hommata uudempi versio. tai mikäli pelkän platform sdk:n pystyy 6.0:aan päivittämään niin teeppä se.
- sulla
The Real J. kirjoitti:
Funktio:
__int64 CFileCopyTimerDlg::SizeOfFile(CString filename)
{
LARGE_INTEGER filedata;
HANDLE filehandle;
// Try to open the file for read access
filehandle = CreateFile(filename.operator LPCTSTR(),
GENERIC_READ,
0,
NULL,
0,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (filehandle == INVALID_HANDLE_VALUE)
return 0; // Failed, just return 0
// Get size of file to struct
if (GetFileSizeEx(filehandle, &filedata))
{
CloseHandle(filehandle);
return (__int64)(filedata.QuadPart);
}
CloseHandle(filehandle);
return 0;
}
Virheilmoitus:
FileCopyTimerDlg.cpp
C:\Data\FileCopyTimer\FileCopyTimerDlg.cpp(580) : error C2065: 'GetFileSizeEx' : undeclared identifier
Error executing cl.exe.tiedostosi alussa rivi:
#include - tämä:
The Real J. kirjoitti:
Funktio:
__int64 CFileCopyTimerDlg::SizeOfFile(CString filename)
{
LARGE_INTEGER filedata;
HANDLE filehandle;
// Try to open the file for read access
filehandle = CreateFile(filename.operator LPCTSTR(),
GENERIC_READ,
0,
NULL,
0,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (filehandle == INVALID_HANDLE_VALUE)
return 0; // Failed, just return 0
// Get size of file to struct
if (GetFileSizeEx(filehandle, &filedata))
{
CloseHandle(filehandle);
return (__int64)(filedata.QuadPart);
}
CloseHandle(filehandle);
return 0;
}
Virheilmoitus:
FileCopyTimerDlg.cpp
C:\Data\FileCopyTimer\FileCopyTimerDlg.cpp(580) : error C2065: 'GetFileSizeEx' : undeclared identifier
Error executing cl.exe.Platform SDK, hae se microsoftilta.
- Kiikaroin
PDC2008, MicrosoftftPDC.com osoite josta en tiedä onko apua mutta päivityksiä löytyy ehkä laajennuksiakin Microsoftilta .
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1077763
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?1126026- 835177
- 1394546
Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan113220- 592997
- 582938
Törkeää toimintaa
Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818102454- 612437
Hei........
Pelkkä sun näkeminen saa mut hymyilemään pitkin iltaa. Oot niin 🤩😘 Edellinen poistettiin.562066