Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 fread() 함수

<시간/>

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