هر فایل بازی یک اندیکاتور موقعیت دارد که تعیین می کند عمل خواندن/نوشتن در کدام محل فایل انجام می شود. موقعیت همیشه برمبنای تعداد بایت ها از ابتدای فایل داده می شود. اگر فایل موجودی در مد اضافه کردن باز شود اندیکاتور در انتهای فایل است در بقیه مدها اندیکاتور در ابتدای فایل است و برابر صفر است.

توابع خواندن/نوشتن روی فایل که در محل اندیکاتور انجام می شود باعث تغییر موقعیت آن می شود. مثلا اگر فایلی باز شود و ۱۰ بایت از آن خوانده شود اندیکاتور روی موقعیت ۱۰ فایل قرار می گیرد. عمل بعدی روی موقعیت ۱۰ انجام می گیرد.

C++ توابعی را در اختیار می گذارد (seekp و seekg) که امکان کنترل اندیکاتور و دسترسی تصادفی به فایل را می دهند. یعنی می توانید به هر نقطه ای درون فایل مراجعه کنید بدون اینکه مجبور باشید فایل را از ابتدا بخوانید یا بنویسید.

مثال. نمایش اندازه یک فایل.

#include <fstream.h>
#include <iostream.h>
int main () {
long start,end;
ifstream myfile (“test.txt”, ios::in|ios::binary);
start = myfile.tellg();
myfile.seekg (0, ios::end);
end = myfile.tellg();
myfile.close();
cout << “size of ” << “test.txt”;
cout << ” is ” << (end-start) << ” bytes.n”;
return 0;
}