比如,调用下面的函数来执行命令。
int execmd(char* cmd, char* result)
{
char buffer[128];
FILE* pipe =popen(cmd, "r");
if (!pipe)
return 0;
while(!feof(pipe))
{
if(fgets(buffer, 128, pipe))
{
strcat(result,buffer);
}
}
pclose(pipe);
return 1;
}
如果命令语句cmd中,有文件名字符串filename,应该在filename两端加双引号。
如果用sprintf语句来做:
sprintf(cmd,"ls \"%s\" ", filename);