Давайте посмотрим на этот фрагмент:
string test ="";
string line2;
freopen("a.txt", "rb", stdin);
while(getline(cin, line2)) {
cout << line2 << endl;
}
Здесь происходит то, что вы перенаправляете текстовый файл (не совсем точная терминология) в стандартный поток ввода (представленный какcin
здесь), и вы читаете его построчно. Затем, прочитав каждую строку, вы печатаете ее в стандартный поток вывода, используя объект cout
.
Что нужно сделать, чтобы прочитать файл в строку, это что-то вроде строки:
string test ="";
string line2;
freopen("a.txt", "rb", stdin);
while(getline(cin, line2)) {
test += line2 + "\n";
}
Здесь вы просто добавляете строки к test
. Обратите внимание, что вам также нужно добавить новые строки, так как getline
удаляет их.