[C/C++] 파일 입출력 방법과 예제코드: ifstream, ofstream, fin, fout
# 파일 입력
1. ifstream class로 객체를 선언한다.
ifstream fin;
2. open() method를 사용하여 입력하길 원하는 파일을 지정한다.
ifstream은 입력 전용이므로, 읽기 전용인지 쓰기 전용인지를 명시하지 않아도 됨.
fin.open("c://info.txt");
3. stream 객체를 사용, 입력.
fin>>str
4. 오픈한 파일을 닫는다
fin.close();
ex) 화면에서 입력받은 정보로 "info.txt" 파일을 생성하는 코드
#include <fstream.h> // 파일 입출력 제공 클래스
#include <iomanip.h>
void main() {
char name[20];
int age;
char address[20];
int i;
ofstream fout;
fout.open("c://info.txt");
cout<<"\n================파일 출력하기=============\n";
for(i=0; i<3; i++) {
cout<<i+1<<"번째 사람의 이름을 입력하세요=>";
cin>>name;
cout<<"나이를 입력하세요=>";
cin>>age;
cout<<"주소를 입력하세요=>";
cin>>address;
fout<<name<<setw(10)<<age<<setw(22)<<address<<endl;
cout<<name<<setw(10)<<age<<setw(22)<<address<<endl;
}
} |
ex) "info.txt" 파일을 입력받아 화면으로 출력하는 코드
|
+ while(fin>>name>>age>>address)
입력 객체 fin은 성공적으로 입력을 하였으면 ifstream &을 리턴하지만, 파일의 끝(EOF)을 만나면 0을 리턴한다.
즉, 파일의 끝을 만나 더 이상 입력받을 데이터가 없으면 while 밖으로 벗어난다.
# 파일 출력
1. ofstream 클래스로 객체를 선언한다.
새로 생성될 객체(여기선 fout) 의 이름은 지정어를 제외하고 어떠한 이름이 와도 상관없다.
ofstream fout;
2. open() 메소드를 사용하여 출력하길 원하는 파일명을 지정한다.
fout.open("test.txt");
3. 스트림 객체를 사용, 출력.
fout<<" FILE OUTPUT. " <<endl;
4. 오픈한 파일을 닫는다.
fout.close();
ex) 파일출력의 간단한 예시코드
#include <fstream.h> //파일 입출력 제공 클래스
void main() {
ofstream fout; // 클래스 객체
fout.open("C://test.txt");
fout<<" FILE OUTPUT. " <<endl;
fout.close();
} |
ex) 문자 한 개를 get() 함수로 입력받아 "test2.txt" 파일에 출력하는 코드
// A Simple Example of File Input
#include <fstream.h> // C++ 파일 입출력 제공 클래스
#include <iomanip.h>
void main() {
char ch;
ofstream fout;
fout.open("c://test2.txt");
//^Z가 눌리기까지 문자를 한개씩 계속 입력받음
while(cin.get(ch)) {
fout<<ch;
}
fout.close();
} |
@cmd:
TEST
^Z
@test2.txt:
TEST
ex) "test2.txt" 파일을 화면 출력하는 코드
// A Simple Example of File Input
#include <fstream.h> // C++ 파일 입출력 제공 클래스
#include <iomanip.h>
void main() {
char ch;
ifstream fin;
fin.open("c://test2.txt");
while(fin.get(ch)) {
cout<<ch;
}
fin.close();
} |