linux的C程序 调用 shell脚本,获取shell的执行结果
来源:互联网 发布:淘宝优惠券赚佣金软件 编辑:程序博客网 时间:2024/05/22 06:31
linux下通过C执行命令的时候一半都是使用system()方法,但是该方法执行命令返回的值是-1或0,而有时候我们需要得到执行命令后的结果。可以使用管道实现
输出到文件流的函数是popen(),例如
FILE *isr;
isr = popen("ls -l","r"); ls -l命令的输出通过管道读取("r"参数)到isr
下面是演示例子,列出当前可用的loop设备,(必须是root权限才可以执行losetup -f)
#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <string.h>char* cmd_system(const char* command);int main(){ //char str[20]={"0"}; char* result = cmd_system("losetup -f"); //通过该方法可以将char*转换为char数组 //strcpy(str,result); printf("The result:%s\n",result); return 0;}char* cmd_system(const char* command){ char* result = ""; FILE *fpRead; fpRead = popen(command, "r"); char buf[1024]; memset(buf,'\0',sizeof(buf)); while(fgets(buf,1024-1,fpRead)!=NULL) { result = buf; } if(fpRead!=NULL) pclose(fpRead); return result;}
执行结果:
The result:/dev/loop0
0 0
- linux的C程序 调用 shell脚本,获取shell的执行结果
- linux的C获取shell执行返回的结果
- c,c++中调用shell脚本并保存shell的执行结果
- Linux C 程序执行 shell 命令并获取返回结果的方法
- java调用linux中的shell脚本并返回执行结果
- linux执行shell脚本的
- linux C 调用shell程序执行
- 获取python执行shell命令的结果
- Perl 获取shell命令的执行结果
- [转]linux shell 获取当前正在执行脚本的绝对路径
- linux shell 获取当前正在执行脚本的绝对路径
- linux shell 获取当前正在执行脚本的绝对路径
- linux shell 获取当前正在执行脚本的绝对路径
- Linux shell获取执行脚本文件所在的目录
- linux shell 获取当前正在执行脚本的绝对路径
- linux shell 获取当前正在执行脚本的绝对路径
- linux shell 获取当前正在执行脚本的绝对路径
- linux shell 获取当前正在执行脚本的绝对路径
- [Android] 如何将ActionBar的侧选单按钮切换为返回按钮
- 第十九题(最快的方法求Fibonacci数列)
- android设置屏幕禁止休眠的方法
- 设置只能编辑当前行
- Bash脚本15分钟进阶教程
- linux的C程序 调用 shell脚本,获取shell的执行结果
- LINUX环境下Samba服务器的简单搭建教程
- Hibernate懒加载解析
- Kolya and Tandem Repeat
- 正则表达式
- hibernate懒加载问题
- permission和uses-permission的区别
- Python解析XML文件
- Android摄像头采集的视频数据流如何通过Socket实时发送到目标服务端