C/C++ 라이브러리 함수 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)은 주어진 스트림에서 ptr이 가리키는 배열로 데이터를 읽습니다. 다음은 fread() 함수에 대한 선언입니다.
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
다음 표에는 fread() 매개변수와 설명이 포함되어 있습니다.
매개변수 | 설명 |
---|---|
ptr | 최소 크기가 size*nmemb인 메모리 블록에 대한 포인터입니다. 바이트. |
크기 | 읽을 각 요소의 크기(바이트)입니다. |
nmemb | 각 요소의 크기가 size인 요소의 수입니다. 바이트. |
스트림 | 입력 스트림을 지정하는 FILE 개체에 대한 포인터입니다. |
성공적으로 읽은 요소의 총 개수는 정수 데이터 형식인 size_t 개체로 반환됩니다. 이 숫자가 nmemb 매개변수와 다르면 오류가 발생했거나 파일 끝에 도달한 것입니다.
예시 코드
#include <stdio.h> #include <string.h> int main () { FILE *fp; char c[] = "this is tutorialspoint"; char buffer[100]; /* Open file for both reading and writing */ fp = fopen("file.txt", "w+"); /* Write data to the file */ fwrite(c, strlen(c) + 1, 1, fp); /* Seek to the beginning of the file */ fseek(fp, 0, SEEK_SET); /* Read and display data */ fread(buffer, strlen(c)+1, 1, fp); printf("%s\n", buffer); fclose(fp); return(0); }
file.txt 파일을 만들고 이것이 tutorialspoint인 내용을 작성하는 위의 프로그램을 컴파일하고 실행해 보겠습니다. 그 후 fseek() 함수를 사용하여 쓰기 포인터를 파일의 시작으로 재설정하고 다음과 같이 파일 내용을 준비합니다 -
출력
this is tutorialspoint