У меня новый вопрос. Я знаю, что это очень базовая c информация на C ++, но я просто не могу так легко привыкнуть к этому языку программирования.
Я пытаюсь сохранить содержимое объекта ifstream в переменной.
Это программа, которая читает каждую строку из текстового файла:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
string Str, infileName, line, var1;
infileName = "numbers.txt";
ifstream FileName;
//open the file for reading
FileName.open(infileName);
if (FileName.is_open()){
while (!FileName.eof()) {
while(getline(FileName, Str)) {
cout<< Str << endl;
}
}
}
FileName.close();}
Выполняя эту программу, она считывает числа, которые находятся в каждой строке файла grades.txt
.
70.2
75.6
81.5
80.0
92.2
Но затем, если я изменю программу, чтобы сохранить содержимое текстового файла в переменную, например это:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
string Str, infileName, line, var1;
infileName = "numbers.txt";
ifstream FileName;
FileName.open(infileName);
if (FileName.is_open()){
while (!FileName.eof()) {
while(getline(FileName, Str)) {
cout<< Str << endl;
//save every line in the text file to var1
var1 << Str << endl;
}
}
}
FileName.close();}
Это вызывает ошибку, и мне сложно понять причину этой проблемы.
error: no match for ‘operator<<’ (operand types are ‘std::string {aka std::basic_string}’ and ‘std::string {aka std::basic_string}’)
Это зависит от типа var1
?
Спасибо за уделенное время!