C 将管道读为字符串
C++ Read Pipe into String
我正在编写执行shell命令的C 程序。我正在使用popen()
函数来运行命令。我希望我的exec
函数返回std::string
,但我不知道如何从FILE
读取到字符串。有没有办法在不阅读char[]
的情况下进行此操作,然后将其转换为字符串?如果有很多最有效的?
是不可能的。popen()
功能将指针返回到FILE
。您无法将FILE
直接读取到std::string
中。但是,您可以将char*
转换为std::string
,这在您的情况下似乎是最好的解决方案。
听起来您可以使用std::ifstream
-> http://www.cplusplus.com/doc/tutorial/files/