根据逻辑,下面的代码必须结束窗口,并且必须返回带有 ls 输出的控制台窗口,但它返回带有黑色背景的窗口,并且在该窗口中每个命令都在运行,但不显示我是什么即使我没有使用 noecho(),写入和输出也会以一种非常不寻常的方式进行。
else if(selected_item==0){
wprintw(messagebar,"You have selected menu SHAILENDRA SINGH.",1);
write_data0();
if(fork())
wait(0);
else
execlp("clear","clear",(char *)NULL);
execlp("ls","ls",(char *)NULL);
execlp("konsole","konsole",(char *)NULL);
ESCAPE;
refresh();
delwin(menubar);
delwin(messagebar);
endwin();
}
需要帮助和建议来删除我的代码中的此错误。
最佳答案
execlp
将结束当前程序并运行被调用的程序。
execlp("ls","ls",(char *)NULL);
之后的任何内容都永远不会被执行。
每个 execlp
都需要一个 fork
。
关于c - delwin(),endwin(),不在条件语句内工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13251853/