C ++ fread () - C ++ стандартна библиотека

Функцията fread () в C ++ чете определен брой символи от дадения входен поток.

прототип на fread ()

 size_t fread (void * buffer, size_t size, size_t count, FILE * stream);

Най fread()функцията гласи брой брой обекти, всеки от размер байта от дадена входния поток. Подобно е на извикването на fgetc () size times за четене на всеки обект. Според броя на прочетените символи индикаторът за позицията на файла се увеличава.

Получената стойност на индикатора за позицията на файла за потока е неопределена, ако възникне грешка при четене на файла.

Ако обектите не са тривиално копируеми, поведението е неопределено.

Ако размерът или броят са нула, обаждането до freadще върне нула и не се извършва друго действие.

Той се определя в заглавния файл.

fread () Параметри

  • буфер: указател към блока памет за съхранение на обектите.
  • размер: Размер на всеки обект в байтове.
  • count: Броят на обектите за четене.
  • поток: Файловият поток, от който да се четат данните.

fread () Върната стойност

На fread()връща функция на броя на обектите четат успешно. Ако възникне грешка или състояние на края на файла, върнатата стойност може да е по-малка от броя.

Пример 1: Как работи функцията fread ()

 #include #include using namespace std; int main() ( FILE *fp; char buffer(100); fp = fopen("data.txt","rb"); while(!feof(fp)) ( fread(buffer,sizeof(buffer),1,fp); cout << buffer; ) return 0; )

Да предположим, че файлът съдържа следните данни:

 Денис Ричи: C Bjarne Stroustrup: C ++ Guido van Rossum: Python James Gosling: Java

Когато стартирате програмата, изходът ще бъде:

 Денис Ричи: C Bjarne Stroustrup: C ++ Guido van Rossum: Python James Gosling: Java

Пример 2: Как работи функцията fread (), когато броят или размерът е нула

 #include #include using namespace std; int main() ( FILE *fp; char buffer(100); int retVal; fp = fopen("data.txt","rb"); /* when count is zero */ retVal = fread(buffer,sizeof(buffer),0,fp); cout << "When count = 0, return value = " << retVal << endl; /* when size is zero */ retVal = fread(buffer,0,1,fp); cout << "When size = 0, return value = " << retVal << endl; return 0; )

Когато стартирате програмата, изходът ще бъде:

 Когато count = 0, върната стойност = 0 Когато size = 0, върната стойност = 0

Интересни статии...