본문 바로가기
[ C++ ]/- C++ 실습연습

C++ [파일입출력]

by MRG 2021. 10. 15.
728x90
반응형

▣ 이번장에서는 C++에 파일 입출력을 진행해보도록 하겠습니다.

 

▣ 먼저 파일입출력을 사용하기 위해서 

#include <fstream> 헤더를 추가해야 합니다. 

그리고 ofstream, ifstream를 사용하여 

파일을 열어야합니다.

ofstream는 쓰기 모드 ifstream은 읽기 모드로

각각 파일을 열어주세요 그리고 디버그를 해보고 

프로젝트 파일 안을 확인하면

 

▣ 이렇게 ofstream 파일을 열었던 파일이 생성된 걸 확인할 수 있습니다. 

그럼 이번에는 ofstream으로 만든 텍스트 파일에 글을 작성해보겠습니다.

 

▣ ofstream 클래스로 파일을 쓰기 모드를 열고

outfile << "Hi C++" 출력을 하는 것과 동일하게 작성해주세요.

그리고 디버그를 하고 실행을 하면

 

 

728x90

▣ 우리가 열었던 파일에 글자에 글을 작성한 걸 확인할 수 있습니다.

그럼 이제 파일에 있는 글을 우리가 하나하나 불러오는 코드를 진행하겠습니다.

 

▣ ifstream으로 읽기 모드를 파일을 열고

char input 문자를 저장하는 변수를 선언해주세요.

그리고 whlie문으로 get() 함수를 통해서 

널 일 때까지 계속 반복하게 하여 

바로 input에 값을 출력하게 코드를 작성했습니다. 

 

▣ 이번에는 파일을 쓰고 읽고를 동시에 진행해보겠습니다.

메모장 파일을 생성 및 작성하고 그 안에 있는 값을 읽어오는 코드를 진행했습니다.

그럼 여기서 한 가지 생각을 해야 합니다. 

바로 우리가 파일을 읽어 왔을 때 그 파일이 존재하지 않으면 경고를 주는 코드가 필요합니다. 

 

▣ 이렇게 inputfile로 파일을 불러오고 if(! inputfile) 파일이 존재하지 않으면

cerr로 경고를 주는 코드를 진행했습니다. 

cerr는 cout과 동일한 코드이지만 경고를 출력하기 위해 사용하기도 한다고 합니다. 

이번에는 파일에 있는 텍스트에 글을 추가로 넣는 걸 해보겠습니다. 

 

▣ 두 가지 방식이 있는데 std::ios::app모드로 진행하게 되면 

txt 파일에 있는 원래 내용에 추가로 텍스트를 써주는 방식입니다. 

 

▣ std::ios::trunc 방식은 원래 있던 내용을 덮어쓰고 추가한 내용을 넣는 방식입니다.

단 중요한 건 ofstream으로 쓰기 모드를 할 때 그 파일이 존재할 경우만 가능합니다. 

728x90
반응형

댓글