猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
C:运行系统命令并获取输出?
C:运行系统命令并获取输出?
我想在linux中运行一个命令,并返回它输出的文本,但我
不
希望这个文本打印到屏幕上。有没有比制作临时文件更优雅的方式?
扬帆大鱼
浏览 845
回答 3
3回答
jeck猫
你想要“ 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)-1, fp) != NULL) { printf("%s", path); } /* close */ pclose(fp); return 0;}
0
0
0
千巷猫影
您需要某种进程间通信。使用管道或共享缓冲区。
0
0
0
富国沪深
通常,如果该命令是外部程序,您可以使用操作系统来帮助您。command > file_output.txt所以你的C代码会做类似的事情exec("command > file_output.txt");然后,您可以使用file_output.txt文件。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关问题
centos7里没有locate命令,请问在哪里有centos6.5的镜像文件?
2 回答
相关分类
C
typedef入门问题
1 回答
Linux
linux
2 回答
centos7里没有locate命令,请问在哪里有centos6.5的镜像文件?
2 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续