C_C++/C_라이브러리_함수

(C언어) rewind: 파일 포인터의 위치를 시작 부분으로 변경한다

고니자니 2023. 2. 27. 09:38
반응형
#include <stdio.h>
void rewind(FILE *stream);

rewind(stream) 함수는 파일 포인터의 위치를 파일의 시작부분으로 이동합니다.

fseek 함수와 비슷한 기능을 수행하지만, rewind 함수가 EOF와 오류  플래그를 삭제시키는 데 반해서 fseek 함수는 EOF 플래그만을 삭제시킵니다.

또한 rewind 함수는 fseek 와는 달리 포인터를 성공적으로 이동했는지 여부를 나타내는 값을 반환하지 않습니다.

 

rewind(stdin);

rewind(stdin)을 이용해서 키보드의 버퍼를 삭제하는데(비우는데) 사용될 수도 있습니다.

 

#define _CRT_SECURE_NO_WARNINGS  // Visual Studio
#include <stdio.h>
int main()
{
    FILE* stream;
    int data1, data2;

    data1 = 1;
    data2 = 2;

    //fopen_s(&stream, "rewind.txt", "w+");
    stream = fopen("rewind.txt", "w+");
    
    if (stream != NULL)
    {
        fprintf(stream, "%d %d", data1, data2);
        printf("The values written are: %d and %d\n", data1, data2);
        rewind(stream);
        fscanf_s(stream, "%d %d", &data1, &data2);
        printf("The values read are: %d and %d\n", data1, data2);
        fclose(stream);
    }
}

 

 

반응형