Пространства имён
Варианты
Действия

std::fread

Материал из cppreference.com
< cpp‎ | io‎ | c

 
 
Библиотеки ввода / вывода
I / O манипуляторов
C-стиль I / O
Буферы
Оригинал:
Buffers
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_streambuf
basic_filebuf
basic_stringbuf
strstreambuf(устарело)
Потоки
Оригинал:
Streams
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Абстракций
Оригинал:
Abstractions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
ios_base
basic_ios
basic_istream
basic_ostream
basic_iostream
Файл I / O
Оригинал:
File I/O
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_ifstream
basic_ofstream
basic_fstream
Струнный I / O
Оригинал:
String I/O
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_istringstream
basic_ostringstream
basic_stringstream
Массив I / O
Оригинал:
Array I/O
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
istrstream(устарело)
ostrstream(устарело)
strstream(устарело)
Типы
Оригинал:
Types
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
streamoff
streamsize
fpos
Интерфейс Ошибка категории
Оригинал:
Error category interface
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
iostream_category(C++11)
io_errc(C++11)
 
C-стиль I / O
Функции
Оригинал:
Functions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Доступ к файлам
Оригинал:
File access
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Прямой ввод / вывод
Оригинал:
Direct input/output
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
fread
fwrite
Неформатированная ввода / вывода
Оригинал:
Unformatted input/output
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Форматированный ввод / вывод
Оригинал:
Formatted input/output
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Позиционирование файла
Оригинал:
File positioning
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
ftell
fgetpos
fseek
fsetpos
rewind
Обработка ошибок
Оригинал:
Error handling
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
clearerr
feof
ferror
perror
Операции с файлами
Оригинал:
Operations on files
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
remove
rename
tmpfile
tmpnam
 
Определено в заголовочном файле <cstdio>
std::size_t fread( void* buffer, std::size_t size, std::size_t count, std::FILE* stream );
Читает до count объектов в массив buffer из данного входного потока stream, как если бы по телефону std::fgetc size раз для каждого объекта и сохранение результатов в порядке, полученных в последовательные положения buffer, который переосмыслил как массив unsigned char. Индикатор позиции файла для потока увеличивается на количество символов, читать.
Оригинал:
Reads up to count objects into the array buffer from the given input stream stream as if by calling std::fgetc size times for each object, and storing the results, in the order obtained, into the successive positions of buffer, which is reinterpreted as an array of unsigned char. The file position indicator for the stream is advanced by the number of characters read.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Если объекты не TriviallyCopyable, поведение не определено.
Оригинал:
If the objects are not TriviallyCopyable, the behavior is undefined.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Если происходит ошибка, в результате значение индикатора позиции файла для потока
Оригинал:
If an error occurs, the resulting value of the file position indicator for the stream is
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
неопределенными. Если частичный элемент читать, его значение является неопределенным
Оригинал:
indeterminate. If a partial element is read, its value is indeterminate
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

[править] Параметры

buffer -
указатель на первый объект в массиве для чтения
Оригинал:
pointer to the first object in the array to be read
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
size -
Размер каждого объекта в байтах
Оригинал:
size of each object in bytes
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
count -
число объектов, которые будут читать
Оригинал:
the number of the objects to be read
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Возвращаемое значение

Количество объектов, успешно прочитаны, который может быть меньше, чем count в случае ошибки или конца файла состояние возникает.
Оригинал:
Number of objects read successfully, which may be less than count if an error or end-of-file condition occurs.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Если size или count равна нулю, fread возвращает ноль и не выполняет никаких других действий.
Оригинал:
If size or count is zero, fread returns zero and performs no other action.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Пример

#include <iostream>
#include <cstdio>
#include <fstream>
#include <vector>
int main()
{
    // prepare file
    std::ofstream("test.txt") << 1 << ' ' << 2 << '\n';
    std::FILE* f = std::fopen("test.txt", "r");
 
    std::vector<char> buf(4); // char is trivally copyable
    std::fread(&buf[0], sizeof buf[0], buf.size(), f);
 
    for(char n : buf)
        std::cout << n;
 
    std::vector<std::string> buf2; // string is not trivially copyable
// this would result in undefined behavior
//    std::fread(&buf2[0], sizeof buf2[0], buf2.size(), f);
}

Вывод:

1 2

[править] См. также

читается форматированный ввод из stdin, поток файл или буфер
Оригинал:
reads formatted input from stdin, a file stream or a buffer
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(функция) [edit]
получает строку символов из файла потока
Оригинал:
gets a character string from a file stream
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(функция) [edit]
пишет в файл
Оригинал:
writes to a file
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(функция) [edit]
C documentation for fread