PDA

View Full Version : تعیین حجم کاراکترهای یک فایل



مهدی رحیم زاده
پنج شنبه 07 تیر 1386, 23:14 عصر
چطوری میشه تعیین کرد که توی یک فایل متنی چه تعداد کاراکتر ذخیره شده ؟؟؟

someCoder
جمعه 08 تیر 1386, 01:14 صبح
فایل رو باز میکنی (fopen)
بعد به انتهای فایل میری (fseek)
بعد موقعیت فعلی رو میگیری که میشه همون سایز فایل (ftell)
بعد هم که فایل رو میبندی!

مثال:

FILE * pFile;
long size;

pFile = fopen ("myfile.txt","rb");
if (pFile==NULL) {
//handle it!
} else {
fseek (pFile, 0, SEEK_END);
size=ftell (pFile);
fclose (pFile);
printf ("Size of myfile.txt: %ld bytes.\n",size);
}

mehdi.mousavi
دوشنبه 11 تیر 1386, 00:29 صبح
چطوری میشه تعیین کرد که توی یک فایل متنی چه تعداد کاراکتر ذخیره شده ؟؟؟


سلام.
توسط برنام زیر می تونید حجم فایل مورد نظرتون رو در ویندوز بدست بیارید. این عدد در واقع معادل تعداد کاراکترهای موجود در فایل (برای فایلهای متنی) است. دقت کنید که اگر فایل Unicode باشه، باید این عدد رو به دو تقسیم کنید، زیرا هر کاراکتر Unicode به اندازه دو بایت فضا میبره.



HANDLE hFile = CreateFile(_T("C:\\Documents and Settings\\Administrator\\Desktop\\temp.txt"),
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
0,
NULL);

if(hFile == INVALID_HANDLE_VALUE)
return -1;

DWORD dwSize = GetFileSize(hFile, NULL);
if(dwSize == INVALID_FILE_SIZE)
{
//An error is occured!
}

CloseHandle(hFile);
return 0;