파일입출력 - 해당되는 글 1건
그동안 c++ 로 코딩을 몇번 해 오면서 콘솔에서 파일을 관리할때엔 c 형식을 사용했었었다...

c 파일 입출력 형식에 이미 익숙해져 있었고 c++ 컴파일러에서도 그대로 지원했다.

하지만.. 문득 c++에서 파일 관리는 어떻게 되는지 궁금해져서 한번 찾아봤다.


fstream

c++에서는 데이터 흐름을 스트림이라 말하고 << 나 >> 와 같은 스트림 연산자를 사용해서

데이터의 흐름을 명시한다. (아니라고 우기면 할말없음;;)


c++에서 클래스 입출력 패키지는 파일 입출력을 마지 표준 입출력처럼 다루게 된다.

스트림 개체를 생성한 후 삽입 연산자 << 나 write()를 사용해서 ostream의 메서드를 사용한다.

파일에서 읽는건 마찬가지고 >> 나 get()과 같은 istream 메서드를 사용...

파일에 쓰기 위해서..

ofstream fout(filename); //fout 이라는 출력 스트림 개체를 생성한다

fout << "파일에 입력됨"; //이렇게 하면 파일에 적는게 끝;;;

fout.close();

마찬가지로 파일에서 읽어올려면

ifstream fin(filename); //fin 이라는 입력 스트림 개체 생성

fin >> ch;  // 파일에서 한 문자를 읽어와 ch 에 입력;;; 끝;;;;

fin.close();

물론 이게 전부는 아니지만.. 너무 쉽다고 생각이 -_-;;

책을 찾아 보면서도 약간 의심스러운 부분이 한둘이 아니고,, 지금도 좀 꺼림직하다...


파일 입출력 스트림을 효과적으로 관리하고 사용하기 위해서 c++에서는 많은것을 제공해 준다.

fstream 클래스에서 지원해주는 많은 메서드가 그것인데, 나도 어떤것들이 있는지는 자세히 모른고

내가 요 근레에 사용했던 몇가지만 알고 있는정도.


파일 불러오는 과정에서 스트림 검사하는 방법은 is_open()

참 보기도, 읽기도, 기억하기도 정말 쉽다.

ifstream fin;

fin.open(filename);

if ( ! fin.is_open() )
{
     cerr << "파일열기 실패" << endl;
     break;
}

이정도면 파일 스트림 검사의 모든것이 끝난다.

스트림 상태를 반영하는 정보들...

모두 이상없음, 파일 끝에 도달, 입출력 조작 실패 등..

모두 이상이 없을 경우 is_open() 메서드는 0을 값으로 갖는다.

과거에는 fin.good() 과 같은것을 사용했다는데 good()이 검사하지 못하는 경우까지

is_open()은 검출 할 수 있다고 한다.


오늘은 피곤해서 여기까지;;; 흠;;; c 랑 비교해서 조금 더 자세한 부분을 적어놔야겠네 ㅋ


공부/C++  |  2006/11/29 01:10
2006/11/30 19:45 댓글에 댓글수정/삭제
뭔말이야!!!!
나같은 사람도 알아들을 수 있도록 쉽게 설명을 해줘!!!!!!
.
muindo
2006/12/02 13:30 댓글에 댓글수정/삭제
공부하세요!!
.
sysmaster
2006/12/05 09:22 댓글에 댓글수정/삭제
-_-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
쩝 도대체 글은 어디다 쓰는거여 -_-;; 모르겠다..
.
이름 ::   비밀번호 :: 홈페이지 :: 비밀글
등록