본문 바로가기

Language, IDE/C, C++

[C++] 파일 입출력

반응형

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