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