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