PDA

View Full Version : سوال: File Size



h_r_sh
چهارشنبه 21 مرداد 1388, 23:10 عصر
با سلام به همه

چطور می شه حجم یه فایل رو به دست بیارم؟

tdkhakpur
پنج شنبه 22 مرداد 1388, 00:55 صبح
HANDLE hFile;
long FileSize;

long GetFileSize( hFile , //هندل فایل
& FileSize // متغییری که میخواهید حاوی اندازه فایل باشد
);

Saeed_m_Farid
پنج شنبه 22 مرداد 1388, 09:26 صبح
HANDLE hFile;
long FileSize;

long GetFileSize( hFile , //هندل فایل
& FileSize // متغییری که میخواهید حاوی اندازه فایل باشد
);

دومین پارامتر ورودی تابع GetFileSize (پارامتر ارجاعی برای اندازه فایل) باید unsigned long باشه و یه مقدار long نمیشه پاس داد.
اصلاً long قبول نمي كنه، مگه اينكه type cast به unsigned long بشه!
در ضمن ممکنه مقدار بازگشتی درست نباشه! در اینصورت 0xFFFFFFFF برگشت داده میشه و برای اطلاع از خطای رخ داده باید GetLastError فراخوانی بشه :

{
HANDLE hFile = CreateFile("C:\\Test.txt",
FILE_GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
0,
NULL);
unsigned long dwSize = -1; // همان FFFFFFFF
GetFileSize(hFile, &dwSize);
if (dwSize == 0xFFFFFFFF) {
DWORD dwError = GetLastError() ;
// Do somthing with Error (in dwError)
}
}

tdkhakpur
پنج شنبه 22 مرداد 1388, 17:06 عصر
سلام


HANDLE hFile = CreateFile("C:\\Test.txt",
FILE_GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
0,
NULL);
unsigned long dwSize = -1; // همان FFFFFFFF
GetFileSize(hFile, &dwSize);
if (dwSize == 0xFFFFFFFF) {
DWORD dwError = GetLastError() ;
// Do somthing with Error (in dwError)
}

خوب من راهنمایی کردم کد قابل اجرا که نفرستادم. خود شما هم چرا فایل را باز کردی بعد آخرش نبستید :لبخندساده: