【问题标题】:best way to get user input for a menu driven CLI in C在 C 中为菜单驱动的 CLI 获取用户输入的最佳方法
【发布时间】:2010-09-07 17:55:42
【问题描述】:

在选择数量有限的 C 程序中获取用户输入的最佳方式是什么。

比如说选择是:

A) 打印列表。
B) 将 99 添加到列表末尾。
C) 删除所有重复项。
5) 重置 5 次。

输入“A”然后回车就可以了, 或者,只需按一下键也可以。

【问题讨论】:

    标签: c


    【解决方案1】:

    getchar()cgetc(),取决于平台

    【讨论】:

      【解决方案2】:

      一点补充,

      而不是使用

      switch(input)
      

      使用...

      switch (toupper(input))
      {
          case 'A':
      

      这将允许用户输入 'a' 或 'A' 并省去您检查大小写的麻烦

      【讨论】:

        【解决方案3】:

        我使用了类似以下的简单方法:

        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;
        }
        

        【讨论】:

          猜你喜欢
          • 2011-12-11
          • 1970-01-01
          • 1970-01-01
          • 2021-06-11
          • 2010-10-17
          • 2023-03-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多