C语言执行Linux的shell命令并获得返回值
2014-08-30 09:49
281 查看
popen函数执行命令后,返回一个指向该命令输出的文件句柄,接下来就可以用fgets等文件操作函数去读取输出结果。
[cpp] view
plaincopyprint?
#include <stdio.h>
FILE *popen(const char *command, const char *type);
int pclose(FILE *stream);
type的参数只能是“r”或"w"
例如
[cpp] view
plaincopyprint?
#include<stdio.h>
#include<string.h>
int main(int argc,char*argv[]){
FILE *fstream=NULL;
char buff[1024];
memset(buff,0,sizeof(buff));
if(NULL==(fstream=popen("ls -l","r")))
{
fprintf(stderr,"execute command failed: %s",strerror(errno));
return -1;
}
if(NULL!=fgets(buff, sizeof(buff), fstream))
{
printf("%s",buff);
}
else
{
pclose(fstream);
return -1;
}
pclose(fstream);
return 0;
}
来至:http://blog.csdn.net/littlefang/article/details/6803179
[cpp] view
plaincopyprint?
#include <stdio.h>
FILE *popen(const char *command, const char *type);
int pclose(FILE *stream);
type的参数只能是“r”或"w"
例如
[cpp] view
plaincopyprint?
#include<stdio.h>
#include<string.h>
int main(int argc,char*argv[]){
FILE *fstream=NULL;
char buff[1024];
memset(buff,0,sizeof(buff));
if(NULL==(fstream=popen("ls -l","r")))
{
fprintf(stderr,"execute command failed: %s",strerror(errno));
return -1;
}
if(NULL!=fgets(buff, sizeof(buff), fstream))
{
printf("%s",buff);
}
else
{
pclose(fstream);
return -1;
}
pclose(fstream);
return 0;
}
来至:http://blog.csdn.net/littlefang/article/details/6803179
相关文章推荐
- C语言执行Linux的shell命令并获得返回值
- C语言执行Linux的shell命令并获得返回值
- C语言执行Linux的shell命令并获得返回值
- C语言执行Linux的shell命令并获得返回值
- C语言执行Linux的shell命令并获得返回值
- C语言执行Linux的shell命令并获得返回值
- 在shell中获得命令执行后返回值的方法
- Linux中用C语言执行shell命令并获取返回结果
- Linux下C语言执行shell命令
- Linux C语言获得执行的shell命令的返回值
- linux 下 java 执行 shell 命令
- 从Linux程序中执行shell(程序、脚本)并获得输出结果
- Java调用linux系统shell执行命令
- 运用Shell命令的时候可以在控制台上输入linux命令去执行
- 从Linux程序中执行shell(程序、脚本)并获得输出结果(转)
- Linux/shell命令的实际应用——ldd查看可执行程序依赖的库文件
- linux-shell-||,&&{},(),reg-命令执行顺序
- 从Linux程序中执行shell(程序、脚本)并获得输出结果
- 从Linux程序中执行shell(程序、脚本)并获得输出结果
- 从Linux程序中执行shell(程序、脚本)并获得输出结果(转)