所以我是 C 的新手,这是我遇到并且无法理解的一个问题。首先, execlp() 仅按名称(通过搜索)使用参数执行程序。在这里,我想用“-u”作为参数执行“who”,但它不会从 execlp 返回任何内容。为什么?这是正常的吗?
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
main()
{
int j = 0;
if(fork() == 0)
{
j++;
if(execlp("who", "who", "-u", (char*)0) == -1)
{
j++;
}
else
{
printf("\nStoinostta na j = %d", j);
return;
}
}
else
{
--j;
printf("\nStoinostta na j=%d", j);
}
printf("\nStoinostta na j ravno na %d", ++j);
}