c语言中返回linux命令的值
c语言中返回linux命令的值详细介绍
在 C 语言里,你可以借助system函数或者popen函数来执行 Linux 命令。若你想获取命令的返回值,采用popen函数会更合适,因为system函数只能返回命令执行后的退出状态,而popen函数能够读取命令的输出结果。
下面是一个示例代码,展示了怎样使用popen函数来执行ls -l命令并读取其输出:
c
FILE fp
bufferBUFFER_SIZE
fp
fp
EXIT_FAILURE
buffer BUFFER_SIZE fp
buffer
status fp
status
EXIT_FAILURE
EXIT_SUCCESS
代码解释:
popen函数:借助popen函数执行ls -l命令,并且以只读模式打开一个管道,如此一来就能读取命令的输出。fgets函数:利用fgets函数从管道里读取命令的输出,直至读取结束。pclose函数:运用pclose函数关闭管道,同时获取命令的退出状态。
你可以把上述代码保存成一个.c文件,例如test.c,然后使用以下命令进行编译和运行:
sh
gcc test.c./test
9123 test.c test./test
运行之后,你就会看到ls -l命令的输出结果。