system()输出到char *

时间:2011-03-27 20:48:13

标签: c file system

int system(const char *)

如何将此命令的输出(假设命令为“pwd”)发送给char *?它返回一个int但我希望将命令的结果发送给char *。

2 个答案:

答案 0 :(得分:7)

您可以使用“pwd> tempfile”作为命令将命令输出直接传递给文件。
另一种方法是使用popen

FILE *output = popen("pwd", "r");

这将为您提供一个文件指针,您可以从中读取输出。

答案 1 :(得分:5)

system(“pwd> file”);

system()在Linux下使用“/ bin / sh -c”,因此它可以执行shell命令行所能做的任何事情。