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

  • 相关阅读:
    redis发布订阅
    redis学习笔记(面试题)
    redis安全 (error) NOAUTH Authentication required
    HDU3001 Travelling —— 状压DP(三进制)
    POJ3616 Milking Time —— DP
    POJ3186 Treats for the Cows —— DP
    HDU1074 Doing Homework —— 状压DP
    POJ1661 Help Jimmy —— DP
    HDU1260 Tickets —— DP
    HDU1176 免费馅饼 —— DP
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/5319697.html
Copyright © 2011-2022 走看看