Есть ли в стандартной библиотеке c++ возможности прочитать файл целиком в std::string или std::vector?
Есть ли в стандартной библиотеке c++ возможности прочитать файл целиком в std::string или std::vector, не прибегая при этом к построчному или посимвольному чтению файла в цикле?
Ответы (1 шт):
Автор решения: Глеб Труфанов
→ Ссылка
Можно так:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream buffer("test.txt");
string str((istreambuf_iterator<char>(buffer)), istreambuf_iterator<char>());
cout << str << endl;
return 0;
}
А можно так:
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main() {
ifstream buffer("test.txt");
stringstream str;
str << buffer.rdbuf();
string fileInfo(str.str());
cout << fileInfo << endl;
return 0;
}
Есть ещё способы, но эти достаточно простые и удобные