РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
468 of 815 menu

Метод read

Метод read класса ifstream читает заданное количество байт из открытого файла и записывает их в буфер. Первым параметром метод принимает указатель на буфер, куда будут записаны данные, а вторым - количество байт для чтения. Метод возвращает ссылку на поток ifstream, что позволяет вызывать его в цепочке. Если во время чтения произошла ошибка или достигнут конец файла, устанавливается флаг failbit или eofbit.

Синтаксис

ifstream.read(char* buffer, streamsize count)

Пример

Давайте откроем файл test.txt и прочитаем из него 5 байт в буфер:

#include <iostream> #include <fstream> using namespace std; int main() { ifstream file("test.txt"); char buffer[6] = {0}; file.read(buffer, 5); cout << buffer << endl; file.close(); return 0; }

Если файл test.txt содержит строку "abcde", то результат выполнения кода будет:

"abcde"

Пример

Давайте прочитаем весь файл целиком, определив его размер с помощью метода seekg и tellg:

#include <iostream> #include <fstream> using namespace std; int main() { ifstream file("test.txt"); file.seekg(0, ios::end); streamsize size = file.tellg(); file.seekg(0, ios::beg); char* buffer = new char[size + 1]; file.read(buffer, size); buffer[size] = '\0'; cout << buffer << endl; delete[] buffer; file.close(); return 0; }

Если файл test.txt содержит строку "12345", то результат выполнения кода будет:

"12345"

Пример

Давайте проверим, сколько байт удалось прочитать, если запросить больше, чем есть в файле:

#include <iostream> #include <fstream> using namespace std; int main() { ifstream file("test.txt"); char buffer[11] = {0}; file.read(buffer, 10); cout << "Read: " << file.gcount() << " bytes" << endl; cout << buffer << endl; file.close(); return 0; }

Если файл test.txt содержит строку "abcde", то результат выполнения кода будет:

Read: 5 bytes "abcde"

Смотрите также

  • класс ifstream,
    который используется для чтения файлов
  • метод open,
    который открывает файл для чтения
  • метод is_open,
    который проверяет, открыт ли файл
  • метод close,
    который закрывает открытый файл
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить