在ubuntu22.04下运行程序,还没输入就结束
# include "iostream"
# include "link.h"
# include
using namespace std ;
int main(){
// help();
while(1)
{
char cmd[64]="";
cout << "Please Input your command: "<< endl;
cin >> cmd;
if(strcmp(cmd, "help")==0)
{
cout<<"*&^^^^^^^^^^^^^^^^^"<help();
}
else if(strcmp(cmd, "insert")==0)
{
cout<<"--------insert--------"<else if(strcmp(cmd, "print")==0)
{
cout<<"--------print---------"<else if(strcmp(cmd, "search")==0)
{
cout<<"--------search--------"<else if(strcmp(cmd, "delete")==0)
{
cout<<"--------delete--------"<else if(strcmp(cmd, "free")==0)
{
cout<<"--------free--------"<else if(strcmp(cmd, "quit")==0)
{
exit(-1);
}
}
return 0;
}
这段代码是一个命令行程序,它可以根据用户的输入执行不同的命令。但是在Ubuntu 22.04下运行时,程序可能会在等待用户输入之前就结束了。这可能是因为标准输入流(cin)被重定向到某个文件或其他进程中去了,导致程序无法从终端获取用户的输入。您可以尝试使用一些调试工具来找出问题所在,并确保标准输入流(cin)可以正常工作。
参考GPT和自己的思路:在这个程序中,主函数的while循环会不断循环执行,并等待用户输入命令,直到用户输入"quit"命令退出程序。如果在输入命令之前程序就结束了,那可能是由于程序在运行过程中出现了错误并导致程序崩溃退出。你可以查看程序所在的文件夹中是否有任何错误日志文件,以帮助解决问题。
cin >> cmd;
这里调试下,cmd是什么
是不是有之前缓冲区遗留的\n