ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파일 입출력 관련
    @ 16. 1 ~ 17. 1/C++ 2013. 1. 13. 17:28

    파일형태에는

     

    텍스트 파일과 이진형태 파일이 있는데..

    공통점은 0, 1이라는 데이터를 쓴다는것..

     

    차이점은..

    텍스트 파일은 그것들을 1바이트 단위로 읽고

    이진형태는 사용자가 지정한 단위로 읽어들인다.

     

    ifstream myfile()

    ifstream *myfile;

    myfile->open()

     

    <파일출력>

      - 파일에 쓴다

    binary 파일로 데이터를 저장할때..

    ofstream myfile;

    myfile.write(첫번째 시작주소 인자, 최종크기);

    첫번째 시작주소 인자는 char *형으로 형변환을 해줘야한다.

     

    basic_ostream<_Elem, _Tr>& write(const char_type *_Str,streamsize _Count);

     

    <파일읽기>

      - 파일에 써있는것을 읽어온다

    연산자는 읽을 때 공백을 기준으로 데이터를 구분하여 읽어 들이며 문자열에서는 공백을
    제외한 문자만 읽어 들인다.
    get()는 문자열을 읽어 들이는 함수로 공백문자까지 포함하여 읽어 들인다.
    read()는 바이너리형으로 저장되었을 때 사용한다.

     

    struct DATE
    {
    int nYear;
    int nMonth;
    int nDay;
    };
    int _tmain(int argc, _TCHAR* argv[])
    {
    DATE sDate; //담고자하는 무언가가 필요하여 선언..
    ifstream MyFile;
    MyFile.open("test.txt", ios::in|ios::binary);
    MyFile.read( (char*)&sDate, sizeof(DATE));
    cout << sDate.nYear << " " << sDate.nMonth << " " << sDate.nDay << endl;
    MyFile.close();
    return 0;
    }

     

    <파일 탐색>
    파일 탐색은 파일 포인터를 임의의 위치로 이동시켜 내용을 읽거나 쓸 수 있게 한다.

     

    ios::beg 파일의 시작
    ios::cur 파일의 현재 위치
    ios::end 파일의 끝

     

    파일 포인터는 바이트 단위로 이동하므로
    seekg(4, ios::beg);

     

    시작위치로 가서 4바이트 뒤에서 부터..뭔가를 하기위함..

     

    '@ 16. 1 ~ 17. 1 > C++' 카테고리의 다른 글

    Template (1) 함수 템플릿  (0) 2013.01.29
    비트연산자, 함수포인터, ctime  (0) 2013.01.27
    잊기전 정리..  (1) 2013.01.17
    복사생성자의 호출시점  (0) 2013.01.01
    const 이야기 1부  (0) 2012.12.26
Designed by Tistory.