مثلا برای خوندن اطلاعات از یه فایل باینری:
#include <iostream>
#include <fstream>
using namespace std;
ifstream::pos_type size;
char * memblock;
int main () {
ifstream file ("example.txt", ios::in|ios::binary|ios::ate);
if (file.is_open())
{
size = file.tellg();
memblock = new char [size];
file.seekg (0, ios::beg);
file.read (memblock, size);
file.close();
cout << "the complete file content is in memory";
delete[] memblock;
}
else cout << "Unable to open file";
return 0;
}
برای نوشتن هم:
file.write (memblock, size);
memory_block همون اشاره گر کاراکتری قبلیه.
ios::ate مکان نمای ورود رو به انتهای فایل می فرسته تا با tellg() سایزشو بدست بیاریم.متغیر sizeرو از نوع ifstream::pos_type تعریف کرده بودیم.البته می شد از این کد هم برای این کار استفاده کرد:
int size;
size = (int) file.tellg();
بعد بافر رو به اندازه کل فایل در نظر رفتیم تا جا کم نیاریم برای کار شما باید دید یه کلمه تو دیکشنری چقدر میتونه طویل باشه.