Как сохранить содержимое объекта ifstream в переменную - PullRequest
0 голосов
/ 17 июня 2020

У меня новый вопрос. Я знаю, что это очень базовая 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?

Спасибо за уделенное время!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...