순서가 있는 데이터의 연속적인 흐름. 그렇기에 물의 흐름처럼 간주
■ 입력
ifstream is;
is.open("score.txt"); // 20100001 홍길동 100
int number; // 20100002 김유신 90
is >> number; // 20100003 강감찬 80
■ 출력
ofstream os;
os.open("result.txt");
os << number;
<aside> ➡️ score.txt
2010001 홍길동 100 2010002 김유신 90 2010003 강감찬 80
result.txt 2010001 홍길동 100
</aside>
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream is;
is.open("score.txt");
if(!is) {
cerr << "파일 오픈에 실패하였습니다" << endl;
exit(1);
}
int number;
char name[30];
int score;
is >> number >> name >> score;
ofstream os;
os.open("result.txt");
os << number << " " << name << " " << score << endl;
is.close();
os.close();
return 0;
}
파일 쓰기
int main() {
ofstream os { "numbers.txt" };
if(!os) {
cerr << "파일 오픈에 실패하였습니다." << endl;
exit(1);
}
for(int i = 0; i < 100; i++)
os << i << " ";
return 0;
// 객체 os가 범위를 벗어나면 ofstream 소멸자가 파일을 닫는다.
}
파일 읽기
int main() {
ifstream is { "numbers.txt" };
if (!is) {
cerr << "파일 오픈에 실패하였습니다." << endl;
exit(1);
}
int number;
while (is) {
is >> number;
cout << number << " ";
}
cout << endl;
return 0;
// 객체 is가 범위를 벗어나면 ifstream 소멸자가 파일을 닫는다.
}