티스토리 뷰


C
FILE *fp;

// 읽기 전용으로 파일을 오픈
fp = fopen("helloWorld.txt", "r");

// 쓰기 전용으로 파일을 오픈 (파일이 없으면 만듦)
fp = fopen("helloWorld.txt", "w+");

// 읽기와 쓰기 범용으로 파일을 오픈
fp = fopen("helloWorld.txt", "r+");

C++
// 읽기 전용으로 파일을 오픈
ifstream fin;
fin.open("helloWorld.txt");

// 쓰기 전용으로 파일을 오픈 (파일이 없으면 만듦)
ofstream fout;
fout.open("helloWorld.txt");

// 읽기와 쓰기 범용으로 파일을 오픈
fstream fs;
fs.open("helloWorld.txt");

open()

fin.open("HelloWorld.txt", ios_base::in | ios_base::binary);
  • open()
    • 각 스트림마다 open() 메서드가 있음
  • 모드 플래그(mode flags)
    • 네임스페이스
      • ios_base
    • 모든 조합이 유효하지는 않음
모드 플래그
in
out
ate
app
trunc
binary

파일 열기 모드의 예

C C++
"r" ios_base::in
"w" ios_base::out
ios_base::out || ios_base::trunc
"a" ios_base::out | ios_base::app
"r+" ios_base::in | ios_base::out
"w+" ios_base::in | ios_base::out | ios_base::trunc

파일 닫기

C
FILE *fp;

// ...

fclose(fp);
C++
ifstream fin;

// ...

fin.close();

스트림 상태 확인하기

C
FILE *fp;
fp = fopen("helloWorld.txt", "r+");

if (fp != NULL)
{
// ...
}
C++
fstream fs;
fs.open("HelloWorld.txt");

if (fs.is_open())
{
// ...
}

close(), is_open()

fin.close();
  • close()
    • 각 스트림마다 close() 메서드가 있음
if (fs.is_open()) { ... } // 열려 있음
  • is_open()
    • 파일이 열려 있는지 확인

댓글