我必须用 C 制作一个 shell,应该是一个简单的任务给我带来了麻烦。以下代码打印出文本并不断输入,但只打印一次。
printf("(pid=%ld)%s$", (long int)pid,cwd);
fflush(stdout);
while((bytes_read=getline(&line,&len,fp))){}
这段代码立即无限循环,除了打印什么都不做。我无法得到任何输入。
do{
printf("(pid=%ld)%s$", (long int)pid,cwd);
fflush(stdout);
}while((bytes_read=getline(&line,&len,fp)));
我怎样才能像控制台应用程序一样不断地接受 C 中的输入?我不确定为什么程序会这样。