istream& seekg ( streamoff off, ios_base::seekdir dir );; oqish oqimi ko'rsatkichini o'rnatish (siljitish).
pos - oqim buferining yangi pozitsiyasi.
dir parametri quyidagilardan birini qabul qilishi mumkin:
long tellg(); o'qish oqimining joriy xolatini (pozitsiyasi) aniqlash.
ostream sinfi funksiyalari
ostream& seekp ( streampos pos );
ostream& seekp ( streamoff off, ios_base::seekdir dir ); yozish oqimi o'rnini (pozitsiyasini) o'rnatish.
pos - oqim buferining yangi pozitsiyasi
dir parametri beg, cur, end qiymatlaridan birini qabul qilishi mumkin.
long tellp() - yozish oqimining kelgan joyini aniqlash. Fayldan nusxa olish //ushubu dastur orqali ixtiyoriy fayldan nusxa olish mumkin
#include
#include
using namespace std;
int main () {
int length;
char * buffer, fayl[] = "matn.txt", yangi[]="yangi_fayl.txt";
// fayl - nusxalanadigan fayl nomi
// yangi - yangi nusxalangan fayl nomio'qish oqimi
ifstream fromfile(fayl, ios::binary );
if (!fromfile.is_open()) {
cout « "faylni o'qishda xatolik sodir bo'ldi\n";
exit(1); }
// yozish oqimi
ofstream tofile(yangi, ios::binary );
// fayl xajmini aniqlash:
fromfile.seekg (0, ios::end); // fayl oxiriga o'tish
length = fromfile.tellg();
fromfile.seekg (0, ios::beg); // fayl boshiga o'tish
// xotira aj ratish:
buffer = new char [length];
// blokka ma'lumotlarni o'qish:
fromfile.read (buffer, length);
fromfile.close() ;
// nusxalanishi kerak bo'lgan faylga yozish
tofile.write (buffer, length);
// xotirani bo'shatish