在我的 C 程序中执行此命令的最佳方法是什么:“sudo cat /var/log/auth.log | grep Accepted”?我尝试使用:
sprintf(command_result,"sudo cat /var/log/auth.log | grep Accepted"); 
但这显然不起作用。
在我的 C 程序中执行此命令的最佳方法是什么:“sudo cat /var/log/auth.log | grep Accepted”?我尝试使用:
sprintf(command_result,"sudo cat /var/log/auth.log | grep Accepted"); 
但这显然不起作用。
sprintf()您system()至少无法执行命令
使固定:
sprintf(command_result, "sudo cat /var/log/auth.log | grep Accepted");
system(command_result);
    您可以使用管道执行命令
FILE *fp;
fp=popen(command_result,"r");
然后你可以从管道中读取命令输出,fp就像从文件中读取fgets()or fread()...
顺便说一句,如果 sudo 命令中需要密码,则不能执行 sudo 命令