正文

实时控制输入内容的长度2007-04-13 20:23:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzfy/24861.html

分享到:

以下代码(GetStringEX函数)能实现在控制台下有类似WindowsGDI界面的文本框最大输入文本长度的那种效果,个人感觉效果不错哈哈#include <stdio.h>    //putchar#include <conio.h>    //getch#include <windows.h>  //MessageBeepint GetStringEX(char* cpBuffer,int nMaxChars){    int cInput, nCount = 0;    while( (cInput = getch()) != '\r' )    {        if(cInput == '\b') //BackSpace        {            if(nCount > 0)            {                nCount--, printf("\b \b");                if(nCount > 0 && cpBuffer[nCount]<0)                    nCount--, printf("\b \b");            }        }        else if(nCount < nMaxChars && (cInput < 0x80 || nCount + 1 < nMaxChars))        {            putchar( cpBuffer[nCount++] = (char)cInput );            if(cInput >= 0x80)                putchar( cpBuffer[nCount++] = (char)getch() );        }        else MessageBeep(MB_OK); //overflow BEEP    }    putchar('\n');    cpBuffer[nCount] = '\0';    return nCount;}//nain: 演示调用代码int main(){    char a[21];    GetStringEX(a,20); //最大长度20字节    puts(a);    getch();    return 0;}相关帖子链接:http://www.programfan.com/club/showbbs.asp?id=226270

阅读(3351) | 评论(3)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册