반응형
C++ 파일 입출력
C++에서는 파일 입출력 스트림을 제공한다.
입출력 스트림을 사용하기 위해서는 <fstream>라이브러리가 필요하다.
#include <fstream>
#include <string>
using namespace std;
int main() {
//파일 입력
ifstream inf("test.txt"); // 입력 파일 열기
string inStr;
inf >> inStr; //입력
inf.close(); //닫기
//파일 출력
ofstream outf("outFile.txt"); // 출력 파일 열기
outf << inStr; //출력
outf.close(); //닫기
return 0;
}
사용후에는 메모리 누수를 막기위해 꼭 close()를 해주는 것이 좋다.
파일 스트림은 입출력 스트림과 같이 뛰어쓰기를 기준으로 읽으므로 위 소스는 단어 하나만을 읽는다.
여러단어, 여러줄인 소스를 읽기 위해서는 eof을 이용한다.
eof()은 파일의 끝을 만나면 true를, 아니면 false를 리턴한다.
보통 while문 안에 !(not)을 붙여 사용한다.
#include <fstream>
#include <string>
using namespace std;
int main() {
ifstream inf("test.txt");
string inStr;
while(! inf.eof() ) {
inf >> inStr;
//inStr을 배열,vector,list등에 저장
}
inf.close();
return 0;
}
반응형
'Language, IDE > C, C++' 카테고리의 다른 글
| [C++] 템플릿(template) (0) | 2013.07.06 |
|---|---|
| [C++] 상속 (inheritance) (0) | 2013.07.04 |
| [C++] getline 함수 (0) | 2013.07.03 |
| [C++] string to char array(c스트링), char array to string (0) | 2013.07.03 |
| [C++ STL] C++ String(스트링) (0) | 2013.07.03 |