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
908
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
- 1897836
Klaukkalan onnettomuus 4.4
Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes954095- 682672
Kolari Klaukkala
Kaksi teinityttö kuoli. Vastaantulijoille ei käynyt mitenkään. Mikä auto ja malli telineillä oli entä se toinen auto? Se751702Ukraina ja Zelenskyn ylläpitämä sota tuhoaa Euroopan, ei Venäjä
Mutta tätä ei YLE eikä Helsingin Sanomat kerto.3941629- 641508
Ooo! Kaija Koo saa kesämökille öky-rempan:jättimäinen terde, poreallas... Katso ennen-jälkeen kuvat!
Wow, nyt on Kaija Koon mökkipihalla kyllä iso muutos! Miltä näyttää, haluaisitko omalle mökillesi vaikkapa samanlaisen l201486Toivoisin, että lähentyisit kanssani
Tänään koin, että välillämme oli enemmän. Kummatkin katsoivat pidempään kuin tavallisesti toista silmiin. En tiedä mistä171141Olisinpa jo siellä, otatkohan minut vastaan
Olisitpa lähelläni ja antaisit minun maalata sinulle kuvaa siitä kaikesta ikävästä, tuskasta, epävarmuudesta ja mieleni791070Kevyt on olo
Tiedättekö, että olo kevenee kummasti, kun päästää turhista asioista tai ihmisistä irti! Tämä on hyvä näin <3841068