반응형
[파일입출력 예제]
#include <iostream> #include <fstream> #include <string> using namespace std; int main() { string str = "파일입출력"; // 파일 입력 ofstream ofs("file.txt"); // file.txt에 파일을 연다. if( ofs.is_open() ) // file이 잘 열렸는지 확인 { ofs << str; // file.txt 파일에 str 문자열을 쓴다. } ofs.close(); // 파일을 단는다. // 파일 출력 ifstream ifs("file.txt"); // file.txt 파일을 다시 연다. if( ifs.is_open() ) { ifs >> str; // 파일의 내용을 str에 저장한다. cout << str << endl; // 파일로부터 읽은 내용을 모니터 화면에 출력한다. } ifs.close(); // 파일을 닫는다. } |
[fstream 클래스의 주요 멤버 함수와 기능]
멤버 함수 | 기능 설명 | 비고 |
open(파일명) open(파일명, 파일모드) |
파일명지정 파일명과 모드 함께 지정 예) open("file.txt", ios::out | ios::app | ios::app | ios::binary); |
입출력 |
is_open() |
파일이 잘 열렸는지 확인 정상이면 true, 비정상이면 false 반환 |
|
close() | 파일 닫기 | |
eof() | 파일의 마지막 위치에 도달했는지 여부 반환 | |
fail() |
파일 존재 여부 확인 존재하면 false, 비정상이면 false 반환 |
|
tellp() | 현재의 파일 쓰기 위치 반환 | 출력 (ofstream 동일) |
seekp(streampos pos) | 파일 쓰기 위치 설정 | |
flush() |
메모리에 있는 데이터를 물리 파일에 실제 쓰기. 파일에 쓸 내용이 많으면 파일을 닫을 때까지 기다리지 않고 중간중간 flush()함수를 이용해 메모리 효율도 높이고 중간에 오류가 발생해도 전체 유실은 피할 수 있음. | |
operator << | 파일에 문자열 쓰기 | |
put(char c) | 파일에 문자 쓰기 | |
write(const char* s, streamsize n) |
파일에 정해진 크기만큼의 문자열 쓰기 예) ofstream ofs("file.txt"); char *s = "file contents"; long size = 10; ofs.write(s, size); |
|
tellg() | 현재 파일의 읽기 위치 반환 | 입력 (ifstream 동일) |
seekg(streampos pos) | 파일 읽기 위치를 설정 | |
operator >> | 파일로부터 문자열 읽기 | |
get(char& c) | 파일의 문자 읽기 | |
getline(char* s, streamsize n) | 파일로부터 최대 정해진 크기만큼 줄의 문자열 읽기 |
728x90
반응형
LIST
'IT개발/정보 > Modern C++' 카테고리의 다른 글
decltype형 (0) | 2021.12.26 |
---|---|
auto형 변수 (0) | 2021.12.26 |
특수 문자표 (0) | 2021.12.26 |
C++11 표준 기본 자료형 (0) | 2021.12.26 |
Modern C++ 이란? (0) | 2021.12.26 |