当前位置: 技术问答>linux和unix
什么函数可以执行终端命令,并且可以把错误信息捕捉到啊?
来源: 互联网 发布时间:2016-12-14
本文导语: 请问一下linux下面用那个函数可以执行终端命令啊? 并且可以把执行命令的错误信息捕捉到??? 我用popen函数只能捕捉到正确的信息,错误信息根本捕捉不到。我知道可以用system("tar -xvf diff.tar.gz 2>>...
请问一下linux下面用那个函数可以执行终端命令啊? 并且可以把执行命令的错误信息捕捉到???
我用popen函数只能捕捉到正确的信息,错误信息根本捕捉不到。我知道可以用system("tar -xvf diff.tar.gz 2>>error.txt"), 这样可以把标准错误重定向到文件error.txt中,可是这样不太好,需要创建文件,删除文件。别人一看就知道不是内行人写的程序。请问群里的大虾们有什么高见没?
我用popen函数只能捕捉到正确的信息,错误信息根本捕捉不到。我知道可以用system("tar -xvf diff.tar.gz 2>>error.txt"), 这样可以把标准错误重定向到文件error.txt中,可是这样不太好,需要创建文件,删除文件。别人一看就知道不是内行人写的程序。请问群里的大虾们有什么高见没?
|
popen不可以吗?
#include
#include
#include
#include
int main(){
FILE *stream;
char buf[1024];
memset(buf,0,1024);
stream = popen("les -l myfile.txt","r");//这条命令出错
fread(buf,sizeof(char), sizeof(buf),stream);
pclose(stream);
printf("%s",buf);
return 0;
}