如何制作交互式cmd界面?
How to make interactive cmd interface?
我的任务是用 C 语言制作一个交互式 cmd 界面。
我需要管理一个学生数据库,有 3 个命令:添加、删除、打印。
我无法正确使用交互式平台,我需要实现以下目标:每次输入命令时,它都会执行然后等待新命令而不退出,因此链表不会被内存删除,到目前为止我卡在这里:
int main(int argc,char *argv[])
{
char input[MAX];
int c;
if(argc == 1)
{
printf("no values were entered");
exit(0);
}
while(--argc>0 )
{
++argv;
{
strcpy(input,*argv);
if((*++argv) )
{
printf("\nmain(): too much args\nexit(0)\n");
exit(0);
}
}
}
{
if (strcmp(input,"add") == 0)
/*do something*/;
else if(strcmp(input,"print") == 0)
/*do something*/
else if(strcmp(input,"remove") == 0)
/*do something*/
else
printf("no command was found\n");
}
return 0;
}
现在,这确实得到了我的输入并执行了它应该执行的操作,但我无法理解如何实现它 return 并且在不退出程序的情况下等待更多命令。
提前感谢所有信息和帮助!
如果你想制作一个交互式界面,你应该遵循几个步骤。
1 - 获取用户按下的按键,例如
keypress = getch();
2 - 切换大小写按键像
switch(keypress)
{
case 'a' :
// Do somethink...
case 'b' :
// Do somethink
default :
break;
}
3 - 现在将其放入 while 循环中,如
do
{
keypress = getch();
switch(keypress)
{
case 'a' :
// Do somethink...
case 'b' :
// Do somethink
default :
break;
}
while(keypress != 'q')
// quit program...
谢谢,
罗宾.
我的任务是用 C 语言制作一个交互式 cmd 界面。 我需要管理一个学生数据库,有 3 个命令:添加、删除、打印。 我无法正确使用交互式平台,我需要实现以下目标:每次输入命令时,它都会执行然后等待新命令而不退出,因此链表不会被内存删除,到目前为止我卡在这里:
int main(int argc,char *argv[])
{
char input[MAX];
int c;
if(argc == 1)
{
printf("no values were entered");
exit(0);
}
while(--argc>0 )
{
++argv;
{
strcpy(input,*argv);
if((*++argv) )
{
printf("\nmain(): too much args\nexit(0)\n");
exit(0);
}
}
}
{
if (strcmp(input,"add") == 0)
/*do something*/;
else if(strcmp(input,"print") == 0)
/*do something*/
else if(strcmp(input,"remove") == 0)
/*do something*/
else
printf("no command was found\n");
}
return 0;
}
现在,这确实得到了我的输入并执行了它应该执行的操作,但我无法理解如何实现它 return 并且在不退出程序的情况下等待更多命令。 提前感谢所有信息和帮助!
如果你想制作一个交互式界面,你应该遵循几个步骤。
1 - 获取用户按下的按键,例如
keypress = getch();
2 - 切换大小写按键像
switch(keypress)
{
case 'a' :
// Do somethink...
case 'b' :
// Do somethink
default :
break;
}
3 - 现在将其放入 while 循环中,如
do
{
keypress = getch();
switch(keypress)
{
case 'a' :
// Do somethink...
case 'b' :
// Do somethink
default :
break;
}
while(keypress != 'q')
// quit program...
谢谢, 罗宾.