일상 코딩
[C++/CPP] 18.07. Random Accessing File, read / write 본문
C++/따배C++ 18강 입력과 출력
[C++/CPP] 18.07. Random Accessing File, read / write
polarcompass 2021. 12. 22. 02:08728x90
#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>
#include<sstream>
using namespace std;
int main()
{
const string filename = "my_file.txt";
// make a file
{
ofstream ofs(filename);
for (char i = 'a'; i <= 'z'; i++)
ofs << i;
ofs << endl;
}
// read the file
{
ifstream ifs("my_file.txt");
// 시작점에서 커서 5칸 이동 후 커서 뒤의 글자 읽기
ifs.seekg(5); // ifs.seekg(5, ios::beg);
cout << (char)ifs.get() << endl;
ifs.seekg(5, ios::cur);
cout << (char)ifs.get() << endl;
// 처음부터 끝까지 읽고
ifs.seekg(0, ios::end);
// 커서의 현재 위치 반환
cout << ifs.tellg() << endl;
string str;
getline(ifs, str);
cout << str << endl;
}
// file을 한번 열어서 읽기 / 쓰기 둘다하는 방법
{
// 입출력 flag
// fstream iofs(filename, ios::in | ios::out);
fstream iofs(filename);
// 시작점에서 5칸 이동
iofs.seekg(5);
cout << (char)iofs.get() << endl; // read
// 다시 시작점에서 5칸 이동 후 덮어쓰기
iofs.seekg(5);
iofs.put('A'); // write
}
return 0;
}
728x90
'C++ > 따배C++ 18강 입력과 출력' 카테고리의 다른 글
[C++/CPP] 18.06. basic file i/o (0) | 2021.12.21 |
---|---|
[C++/CPP] 18.05 regular expressions, 정규 표현식 (0) | 2021.12.19 |
[C++/CPP] 18.04. stream states, input validation (0) | 2021.12.19 |
[C++/CPP] 18.03. 문자열 stream (0) | 2021.12.18 |
[C++/CPP] 18.02. ostream output (0) | 2021.12.17 |