C:运行系统命令并获取输出?[duplicate]

qeeaahzv  于 2023-01-25  发布在  其他
关注(0)|答案(2)|浏览(100)
    • 此问题在此处已有答案**:

How can I run an external program from C and parse its output?(8个答案)
3天前关闭。
我想在linux下运行一个命令,得到它输出的文本,但是我想把这个文本打印到屏幕上,有没有比创建一个临时文件更优雅的方法?

rnmwe5a2

rnmwe5a21#

您需要“popen“函数。下面是运行命令“ls /etc”并输出到控制台的示例。

#include <stdio.h>
#include <stdlib.h>

int main( int argc, char *argv[] )
{

  FILE *fp;
  char path[1035];

  /* Open the command for reading. */
  fp = popen("/bin/ls /etc/", "r");
  if (fp == NULL) {
    printf("Failed to run command\n" );
    exit(1);
  }

  /* Read the output a line at a time - output it. */
  while (fgets(path, sizeof(path), fp) != NULL) {
    printf("%s", path);
  }

  /* close */
  pclose(fp);

  return 0;
}
flseospp

flseospp2#

你需要某种进程间通信,使用pipe或者共享缓冲区。

相关问题