[TIL] fread 로 int 읽기 (05.31)

박정환·2022년 5월 31일
0

fread는 Binary File을 읽는 함수이다.

int main(void)
{
    int num;

    FILE *fp = fopen("topology.txt", "r");

    // fread(&num, sizeof(int), 1, fp);
    fscanf(fp, "%d", &num);
    cout << num;
}

파일로부터 정수 하나를 읽어들이는 프로그램이다.

fscanf로 읽을 때는 정상적으로 동작하지만 fread로 읽을 때는 오류가 발생합니다.

이는 freadfwrite이 Binary File을 Byte 단위로 읽을 때 사용되는 함수이기 때문입니다. 두 함수는 Type Conversion 을 허용하지 않습니다.





Further Studies to be done

그렇다면 두번째 인자는 반드시 sizeof(char)이 들어와야 할까요?
무조건 바이트 단위의 읽기만 이루어져야 한다면, 두번째 매개변수의 의미는 무엇일까요?
더 조사하고 싶지만 과제 때문에 일단 미뤄둡니다.

0개의 댓글