반응형

[파일입출력 예제]

#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

+ Recent posts