我正在编写一个执行shell命令的c ++程序。我正在使用popen()
函数来运行命令。我希望我的exec
函数返回std::string
,但我不知道如何从FILE
读取字符串。有没有办法在不首先读入char[]
然后将其转换为字符串的情况下执行此操作?如果有许多是最有效的?
答案 0 :(得分:1)
这是不可能的。 popen()
函数返回指向FILE
的指针。您无法直接从FILE
读取std::string
。但是,您可以将char*
转换为std::string
,这似乎是您案例中的最佳解决方案。
答案 1 :(得分:-3)
听起来你可以使用std::ifstream
- > http://www.cplusplus.com/doc/tutorial/files/