PDA

View Full Version : How can I to get file size in Cpp



Monster
جمعه 13 خرداد 1384, 13:00 عصر
سلام
من در حال نوشتن یه برنامه کوچیک با Cpp توی لینوکس هستم.
چطور میتونم اندازه فایل رو بدست بیارم؟
در ضمن نظرتون در مورد کد زیر چیه؟
(اگه اندازه فایل تغییر کرد بایستی یه کاری انجام بشه. میشه از روش خاصی استفاده کرد؟)

int fileSize = 0;___________________
int currentSize =0;________________
while (true) {____________________
currentSize = myFile.getLength();__
if (currentSize > fileSize) {________
fileSize = currentSize;_________
//do thing
___________________________{
_____________________________{

البته این یه کد جاواست ولی بعدا به Cpp تبدیلش میکنم!

Inprise
جمعه 13 خرداد 1384, 15:00 عصر
روی لینوکس : اگر از C استفاده میکنی از تابع stat در sys/stat.h استفاده کن ؛ و اگر از CPP استفاده میکنی بعد از ایجاد استریم مربوط به فایل با روتین tellg محل اولیه اشاره گر رو دریافت کن ، با seekg به انتهای فایل برو ، باز هم با tellg محل اشاره گر رو دریافت کن ، کسر دو مقدار خروجی tellg سایز فایل خواهد بود .

در مورد کدت : بگو مشکلت چیه .

Monster
جمعه 13 خرداد 1384, 22:10 عصر
ممنون :wink:

فکر کنم کد زیر بد نباشه:

#include <iostream>
#include <fstream>
using namespace std;
int main () {
long l,m;
ifstream file ("myFile.txt", ios::in);
l = file.tellg();
file.seekg (0, ios::end);
m = file.tellg();
file.close();
cout << "Size of file is ";
cout << (m-l);
cout << " bytes.\n";
return 0;
}

Inprise
جمعه 13 خرداد 1384, 23:12 عصر
آفرین . همینه . برای کپی کردن کدهات داخل ادیتور سایت از تگ کد استفاده کن تا مرتب و صحیح منتشر بشه

موفق باشی

Pars Giga
شنبه 14 خرداد 1384, 08:03 صبح
:sunglass: