zoukankan      html  css  js  c++  java
  • 5.1对终端进行读写

    几个小知识点:

    字符串数组作为参数。

    fileno(stdout)的使用。

    标准输出是否被重定向了   isatty( fileno(stdout) );

    回车符的过滤方法。

    #include <stdio.h>
    #include <stdlib.h>

    char *menu[] = {
      "a add",
      "b back",
      "c cancel",
      "q quit",
      NULL
    };

    //函数参数类型

    static int getChoice(char* str, char* menu[])
    {
      int choose;
      int c;
      char** p = NULL;
      int select = 0;

      do{
          select = 0;
          printf("%s ", str);

          p = menu;
          while(*p)
          {
            printf("%s ", *p);
            p++;
          }

          //过滤掉输入的回车符

          do{
              choose = getchar();
           }while(choose == ' ');


          p = menu;
          while(*p)
          {
            if(*p[0] == choose)
            {
              select = 1;
              break;
            }

            p++;
          }

          if(!select)
          {
            printf("incorrect input ");
          }


      }while(!select);


      return choose;
    }

    int main()
    {

      int choose;

      do{

          choose = getChoice("Please input command", menu);
          printf("you have choose %c ", choose);
      }while(choose != 'q');

      exit(0);
    }

  • 相关阅读:
    input上传限定文件类型
    扫描二维码自动识别手机系统(Android/IOS)
    css/html/Javascript
    移动端容易碰到的点击穿透的坑
    洛谷P3387 【模板】缩点
    洛谷P1137 旅行计划
    洛谷P2324 [SCOI2005]骑士精神
    洛谷P2571 [SCOI2010]传送带
    BZOJ4300: 绝世好题
    [洛谷P1966] 火柴排队
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/5319697.html
Copyright © 2011-2022 走看看