اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

انتهای یک فایل دودویی (باینری)

+4 امتیاز
523 نمایش

با توجه به اینکه فایل دودویی (باینری) فقط شامل 0 و 1 هست، و کارکتری(مثل EOF) که نشون دهنده‌ی انتهای فایل باشه نداره، پس چطور میتونیم مطمئن باشیم که تا پایان فایل رو خوندیم؟
در مورد فایل‌های دودویی روش خاصی وجود داره آیا؟

یک مشکل در مورد C++ این است که هم‌اکنون گرایشی قوی در زبان وجود دارد که شما را وادار می‌کند پیش از انجام هر کاری، همه‌ی جوانب آن را بدانید. (Larry Wall)
پرسیده شده یکشنبه ۲۴ دی ۱۳۹۱ در C++ توسط CPP_Crawler2  
بازتگ شده پنجشنبه ۲۹ فروردین ۱۳۹۲ توسط admin

2 پاسخ

+1 امتیاز

با استفاده از تابع eof میتونید اینکه به انتهای فایل رسیده یا نه رو چک کنید:

#include<iostream.h>
#include<fstream.h>
int main(){
    fstream binfile;
    binfile.open("ex.bin");
    int ch;
    while(!binfile.eof()){
binfile.read((char *)ch,1);
}
system ("pause");
return 0;
    }
پاسخ داده شده جمعه ۲۷ بهمن ۱۳۹۱ توسط CPP_Crawler4  
0 امتیاز

گاهی دقيقا می دانيد طول فايل چند بايت است بنابراين نيازی به تشخيص انتهای فايل نيست. ولی در اکثر مواقع از طول فايل اطلاعاتی نداريد. متد eof() زمانی که به انتهای فايل برسيد مقدار true را بر می گرداند.

پاسخ داده شده جمعه ۲۷ بهمن ۱۳۹۱ توسط CPP_Crawler5