我想知道如何用C代替变量的值。
execl ("/bin/cat","cat","/proc/30828/status", (char *)0 );
我希望能够将“30828”更改为变量,因为此值不固定。我想知道是否可以在SHELL中做一些你能做到的事情。例如,在shell中你可以这样做:
K=`ls -lis $i`
echo $K
答案 0 :(得分:5)
使用snprintf()
将PID替换为字符串变量:
char statusfile[30];
sprintf(statusfile, sizeof statusfile, "/proc/%d/status", pid);
execl("/bin/cat","cat",statusfile, (char *)0 );