Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Đặt vị trí con trỏ file với seekg() trong C++


seekg() trong thư viện iostream cho phép tìm kiếm vị trí tùy ý trong file. Dùng để đặt vị trí ký tự tiếp theo sẽ đọc từ luồng nhập.

Cú pháp

istream& seekg(streamoff offset, ios_base::seekdir dir);
istream& seekg(streampos position);
Tham số:
position: vị trí mới trong bộ đệm luồng.
offset: giá trị nguyên kiểu streamoff, độ dịch chuyển so với dir.
dir: hướng tìm kiếm (ios_base::beg, ios_base::cur, ios_base::end).

Các bước và thao tác

Bắt đầu
  Mở file dữ liệu để nhập/xuất.
  Ghi 'TutorialsPoint' vào file.
  Tìm đến vị trí 9 từ đầu file.
  Đọc 5 ký tự tiếp theo vào buffer F.
  Kết thúc F bằng null.
  In nội dung.
  Đóng file.
Kết thúc

Ví dụ

#include <fstream>
#include <iostream>
using namespace std;

int main(int argc, char** argv) {
    fstream File("d.txt", ios::in | ios::out);
    File << "TutorialsPoint";
    File.seekg(9, ios::beg);
    char F[9];
    File.read(F, 5);
    F[5] = 0;
    cout << F << endl;
    File.close();
    return 0;
}

Kết quả

Point