본문 바로가기
프로그래밍 언어/C++

C++ 표준 라이브러리 / 파일입출력

by Nighthom 2023. 2. 13.
std::ifstream in("filename.txt");			// 기본 : 텍스트 형식으로 읽음
std::ifstream in1("filename1.txt", std::ios::binary);	// 데이터를 바이너리로 읽음

std::string s;

// 문자열 하나하나 전부 받기
while(in) {
    char buf[100];
    in.getline(buf, 100);				// 100 count까지 읽기(but 문자열의 끝이 0이므로
    							// 거기까지밖에 못읽음.
    cout << buf << endl;
}

// 파일 전체 읽는 예제
if(in) {
    in.seeksg(0, std::ios::end);			// 파일 끝으로 포인터 옮기기
    int size = in.tellg();				// 현재 파일 포인터의 위치를 가져옴
    							// (파일의 크기 구하기)
    
    s.resize(size);					// string을 재할당
    in.seeksg(0, std::ios::beg);			// 파일 포인터를 다시 0으로 옮김(처음부터 읽기)
    in.read(&s[0], size);				// size만큼 읽어서 string에 담기
    std::cout << s << endl;				// string 출력
}

in.close();
in1.close();
std::ofstream out("filename.txt");			// 기본 : 텍스트 형식으로 내보냄
							// + 기존 파일을 모두 지우고 0번 포인터부터 읽음
std::outstream out1("filename1.txt", std::ios::app);	// 파일 끝에서부터 읽음	

out << "문자열 입력" << endl;				// 데이터 쓰기

<fstream> 헤더파일에 정의되어 있으며, ifstream, ofstream을 활용해서 할 수 있다.

 

 

댓글