Как сделать,чтобы после выполнения функции значение переменной сохранялось для дальнейшей работы

125
11 сентября 2021, 03:20

У меня есть две функции, 1 для записи в файл предложения ,2 для чтения его и сохранения предложения в переменную, но когда я хочу вывести предложение мое через переменную после выполения функции , оно показывает пустоту, предложение выводится только через функцию

#include "pch.h"
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
namespace File
{
void create_file();

}
 void File::create_file()
{
ofstream fout("info.txt"); 
fout << " текст игра мяч "; 
fout.close(); 
}
string read_file(string h)
{
std::string sf;
std::ifstream inf;
inf.open("info.txt");
getline(inf, sf, '\0');
cout << sf << endl;
h = sf;
return h;
}

int main()
{
setlocale(LC_ALL, "rus");
File::create_file();
string j;
cout<<read_file(j)<<endl;
cout << j << endl;
}
Answer 1

отправляй обьект по ссылке, потому что в функции string read_file(string h); ты меняешь значение копии а не самого изначального обьекта который в main определил, поэтому cout << j << endl; дает пустоту так как j не инициализирована

READ ALSO
Помогите разобраться с градиентом CSS

Помогите разобраться с градиентом CSS

Вот есть такой градиентПутем различных изменений % у transparent и цвета #dde так и не понял по-какому принципу это строится

161
Не работают стили css

Не работают стили css

Всем привет, столкнулся с очень простой , но с проблемой которая меня уже мучает уже месяц , а то и больше

235