zoukankan      html  css  js  c++  java
  • 自定义输入函数

    有返回功能的输入函数:

    #include <stdio.h>
    #include <conio.h>
    
    void input(char content[]);
    int main()
    {
        char ch[]="";// 习惯字符串初赋值为""
        printf("Please input: ");
        input(ch);// 调用输入函数
        if(ch[0]!=27)
            printf("The content : %s",ch);// 输出内容
        else
            printf("Has come back!
    ");// 模拟返回功能
        getchar();
        return 0;
    }
    void input(char content[])
    {
        int keyNum=0;
        char key=0;
        while(key!=13)// 13为回车的ASCII,在Windows上可以是'
    ',但不是'
    '
        {
            key=getch();
            if((key>'a'&&key<'z')||(key>'A'&&key<'Z')||(key>='0'&&key<='9')||(key==' '))
            {// 这里可以设置输入范围(不能包含回车)
            putchar(key);
            content[keyNum++]=key;// 很好地运用了a++和++a各自的特点(a++先赋值再++,++a先++再赋值)
            }else if(key==''&&keyNum>0)// 退格功能
            {
                printf(" ");
                keyNum--;
            }else if(key==27)// 27为esc的ASCII,实现程序返回功能
            {
                content[0]=27;// content[0]用于识别是否为esc键
                keyNum++;
                break;
            }
            content[keyNum]=0;// 0相当于字符串里'',代表字符串的结尾;后置以赋予正确的结尾位置
        }
        if(keyNum==0) input(content);// 实现 无输入情况回车无效
        else putchar('
    ');// 回车结束输入并换行
    }
  • 相关阅读:
    截图插件
    断点续传
    sql server 将日期减一天
    C# 输出24小时格式时间
    蓝桥 凑平方数
    九宫重排
    HDU 1584
    HDU 2612 (两边一起)
    HDU 1016 Prime Ring Problem
    全排列、排列、排列组合
  • 原文地址:https://www.cnblogs.com/Edsuns/p/12076953.html
Copyright © 2011-2022 走看看