C++ 流写入文件以及写入字符串变量

C++ 流写入文件以及写入字符串变量,c++,file-handling,stringstream,ofstream,ostream,C++,File Handling,Stringstream,Ofstream,Ostream,我正在尝试一个场景,在一个函数中,它将数据放入一个文件 func(std::ofstream fileStream, JsonData) { parses the Json and does some logic and puts to fil stream } std::ofstream fileStream(filename); func(fileStream, jsonData); //want a scenario where std::string aa will get values

我正在尝试一个场景,在一个函数中,它将数据放入一个文件

func(std::ofstream fileStream, JsonData)
{
parses the Json and does some logic and puts to fil stream
}
std::ofstream fileStream(filename);
func(fileStream, jsonData);
//want a scenario where std::string aa will get values in ofstream.
fileStream.close();
如果我能将流数据转换为std::string,有人能帮我吗? 我看到ostream可以转换为stringstream;可以移动到std::string;但无法使用ostream打开文件

请帮帮我…换衣服

func(std::ofstream fileStream, JsonData)
{
parses the Json and does some logic and puts to fil stream
}
将来

func(std::ostream& Stream, JsonData)
{
    //parses the Json and does some logic and puts to fill Stream
}
现在您可以做的是将一个
stringstream
传递给函数并填充它。然后,您可以从中获取一个字符串,并将其缓冲区传递给一个类似

JsonData data;
std::stringstream ss;
// populate string stream
func(ss, data); 
// get string
std::string stringifiedData = ss.str();
// open file
std::ofstream fileStream(filename);
// write to file
fileStream << ss.rdbuf();
JsonData数据;
std::stringstream-ss;
//填充字符串流
func(ss,数据);
//获取字符串
std::string stringifiedData=ss.str();
//打开文件
std::流文件流(文件名);
//写入文件

fileStream有什么原因不能将所有内容都导入字符串流,获取字符串,然后将该字符串写入文件?请发布真实代码
func(std::ofstream fileStream,JsonData)
尝试按值传递流的
,这是不可能的。