Nagie's DevStory
[CPP] 40. 파일 입출력 (File I/O) [ 2 ] 본문
728x90
C++에서 C의 fseek()처럼 사용할 수 있는 함수가 있다.
ifstream과 ofstream에 클래스에 포함된 seekg() 와 seekp()이며
C의 fseek() 처럼 파일 내에서 위치를 이동할 수 있다.
#include <iostream>
#include <fstream>
int main() {
std::ifstream inputFile("example.txt");
if (inputFile.is_open()) {
inputFile.seekg(5); // 파일 내에서 5바이트 위치로 이동
char c;
inputFile >> c;
std::cout << "다섯 번째 바이트: " << c << std::endl;
inputFile.close();
} else {
std::cerr << "파일을 열 수 없습니다." << std::endl;
}
}
std::ios::seekdir 및 std::ios::beg, std::ios::cur, std::ios::end와 같은 상수를 사용해
seekg() 와 seekp() 함수에 위치 기준점을 넘겨줄 수 있으며 사용법은 아래와 같다.
inputFile.seekg(10, std::ios::beg); // 파일의 10바이트 위치로 이동 (시작부터)
inputFile.seekg(20, std::ios::cur); // 현재 위치에서 20바이트 이동
inputFile.seekg(-5, std::ios::end); // 파일의 끝에서 5바이트 앞으로 이동
728x90
Comments