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

  • 相关阅读:
    Mybatis动态SQL
    自己动手写一个持久层框架
    最长公共子串算法(Longest Common Substring)
    【SpringCloud】08.客户端负载均衡器:Ribbon
    ESP32 (idf-esp-v4.1)重新生成nvs分区
    IDEA导入新的springboot项目出错
    springboot集成mybatis出现问题/连接数据库出错
    Java学习周记2
    2020.8.6_Java学习日记
    9.23笔试总结
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/5319697.html
Copyright © 2020-2023  润新知