Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตั้งค่าตำแหน่งด้วย seekg() ในการจัดการไฟล์ภาษา C++


seekg() เป็นฟังก์ชันในไลบรารี iostream ที่ช่วยให้เราค้นหาตำแหน่งที่ต้องการในไฟล์ได้ ส่วนใหญ่จะใช้เพื่อกำหนดตำแหน่งของอักขระถัดไปที่จะแยกจากสตรีมอินพุตจากไฟล์ที่กำหนดในการจัดการไฟล์ C++

ไวยากรณ์

istream&seekg(streamoff offset, ios_base::seekdir dir);
istream&seekg(streampos position);
Where,
position: It is the new position in the stream buffer.
offset: It is an integer value of type streamoff which represents the offset in the stream’s buffer, relative to the dir parameter.
dir: It is the seeking direction. It is an object of type ios_base::seekdir that can take any offset constant value.

Three direction used for offset values are:
ios_base::beg = from the beginning of the stream’s buffer.
ios_base::cur = from the current position in the stream’s buffer.
ios_base::end = from the end of the stream’s buffer.

ขั้นตอนและการดำเนินการที่จำเป็น

Begin
   Open a data file for input/output operations.
   Add ‘TutorialsPoint’ to the file.
   Seek to 9 position from beginning of the file.
   Read the next 5 characters from the file into buffer F.
   End F with null character as terminator character.
   Print the contents.
   Close the file.
End

ตัวอย่าง

#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();
}

ผลลัพธ์

Point