반응형
사용하기 위해서 #include <fstream>을 해야합니다.
파일 출력 클래스 ofstream.
출력할 내용을 파일 객체로 전달하면 됩니다.
ofstream 파일출력객체;
파일출력객체.open("출력파일이름");
파일출력객체 << 출력 내용;
파일출력객체.close();
파일 입력 클래스 ifstream.
파일 객체에서 입력 내용을 받으면 됩니다.
ifstream 파일입력객체;
파일입력객체.open("입력파일이름");
파일입력객체 >> 입력 내용저장변수;
파일입력객체.close();
파일 존재 여부 확인 멤버 함수
fail() : 객체가 가리키는 파일이 없으면 true를, 객체가 가리키는 파일이 있으면 false를 반환합니다.
파일의 마지막 위치 확인 멤버 함수
eof() : 파일 포인터가 파일 마지막에 위치하면 true를, 파일 포인터가 파일 마지막이 아니면 false를 반환합니다.
fstream 클래스는 open을 할 때 파일 모드를 설정해서 따로 입력 객체, 출력 객체 신경 쓰지 않고 쓸 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <iostream> #include <fstream> #include <string> using namespace std; int main() { fstream fs; fs.open("test.txt", ios::out); if (fs.fail()) return 0; fs << "keyboard" << endl; fs << "monitor" << endl; fs.close(); fs.open("test.txt", ios::app); fs << "desk" << endl; fs.close(); fs.open("test.txt", ios::in); string temp; while (fs >> temp, !fs.eof()) { cout << temp << endl; } fs.close(); return 0; } | cs |
파일을 출력 모드로 열고 keyboard와 monitor를 출력했습니다.
그리고 다시 파일을 추가 모드로 열고 desk를 출력했습니다.
마지막으로 파일을 입력 모드로 열고 eof를 만날 때까지 읽어와서 콘솔에 출력했습니다.
반응형
'Programming > C++' 카테고리의 다른 글
[C++] 상속 (1) | 2018.01.22 |
---|---|
[C++] string 클래스 (0) | 2018.01.22 |
[C++] this (0) | 2018.01.22 |
[C++] 객체 포인터 (0) | 2018.01.22 |
[C++] 소멸자 (0) | 2018.01.22 |