gpt4 book ai didi

c++ - 使用 popen 代替 "write to file"然后 "use ifstream to read from it"c++

转载 作者:行者123 更新时间:2023-11-28 03:12:18 26 4
gpt4 key购买 nike

我是初学者,所以如果问题是显而易见的,请理解。

当前版本的代码如下所示。使用 ifstream 打开 output.txt,然后将其馈送到 Coll 类型的对象,因为它理解“理解”生成的 output.txt 文件的格式。

std::system("./Pogram > output.txt");
Coll inputout;
ifstream ifsout("output.txt");
ifsout >> inputout;

我的目标是摆脱中间 output.txt 并执行如下所示的操作。

FILE * f = popen("./Program", "r");
Coll inputout;
f >> inputout;

虽然这会产生以下错误:

error: no match for ‘operator>>’ in ‘f >> inputout’

你能建议任何补救措施吗?

最佳答案

你的问题是 popen 只提供了一个 FILE *,我不相信有任何(可移植的,可靠的)方法可以将它转换成一个文件-溪流。因此,您将不得不使用 fgets 将一行读取为 C 字符串,并使用 stringstream 将其转换为您的类型,或者使用 fscanf或类似的。

关于c++ - 使用 popen 代替 "write to file"然后 "use ifstream to read from it"c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18108279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com