C ++将管道读入字符串

时间:2014-01-22 13:49:31

标签: c++ char popen stdstring

我正在编写一个执行shell命令的c ++程序。我正在使用popen()函数来运行命令。我希望我的exec函数返回std::string,但我不知道如何从FILE读取字符串。有没有办法在不首先读入char[]然后将其转换为字符串的情况下执行此操作?如果有许多是最有效的?

2 个答案:

答案 0 :(得分:1)

这是不可能的。 popen()函数返回指向FILE的指针。您无法直接从FILE读取std::string。但是,您可以将char*转换为std::string,这似乎是您案例中的最佳解决方案。

答案 1 :(得分:-3)

听起来你可以使用std::ifstream - > http://www.cplusplus.com/doc/tutorial/files/