在C中使用菜单驱动的CLI获取用户输入的最佳方法
时间:2020-03-05 18:47:19 来源:igfitidea点击:
在数量有限的C程序中获取用户输入的最佳方法是什么。
例如说选择是:
A)打印列表。
B)在列表的末尾添加99.
C)删除所有重复项。
5)重置5次。
输入" A",然后输入可以,
或者,仅需一次按键就可以。
解决方案
回答
我已经使用了以下简单的方法:
int intput() { char input = 0; int ret_val = 0; read(0, &input, 1); switch(input) { case 'c': // do c break; case 'p': // do p break; case 'd': // do d break; case 'q': quit = 1; break; case '?': PRINT(ENABLE, "c - connect\n"); PRINT(ENABLE, "p - ping\n"); PRINT(ENABLE, "d - disconnect\n"); PRINT(ENABLE, "q - quit\n"); PRINT(ENABLE, "? - this message\n"); break; } return 0; }
回答
除了一点点
而不是使用
switch(input)
使用...
switch (toupper(input)) { case 'A':
这将允许用户输入" a"或者" A",并且省去了检查大小写的麻烦
回答
getchar()
或者cgetc()
,取决于平台