C,C++ & Linux

C/C++ rewind(3)

KyooDong 2020. 5. 22. 11:54
728x90

함수 기능

파일 오프셋을 맨 처음으로 돌려주는 함수입니다.

 

함수 원형

#include <stdio.h>

void rewind(FILE *fp);

 

매개변수

fp

파일 오프셋을 초기화할 대상 파일 포인터

 

예제

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>


int main(int argc, char *argv[]) {
    char *fname = "ssu_test.txt";
    FILE *fp;
    char buf[10];

    fp = fopen(fname, "r");
    
    // 처음 10글자를 읽고
    if (fread(buf, sizeof(buf), 1, fp) != 1) {
        fprintf(stderr, "read error\n");
        exit(1);
    }

    // 화면에 출력
    fwrite(buf, sizeof(buf), 1, stdout);
    putchar('\n');

    // 파일 오프셋 초기화했으므로 다시 처음부터 읽게됨
    rewind(fp);

    // 처음 10글자 읽고 화면에 출력
    fread(buf, sizeof(buf), 1, fp);
    fwrite(buf, sizeof(buf), 1, stdout);
    putchar('\n');
    exit(0);
}

 

결과

 

 

 

 

 

 

 

 

 

 

리눅스시스템프로그래밍 저자 : 홍지만
https://book.naver.com/bookdb/book_detail.nhn?bid=14623672

책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)