Advertisement

控制输入字符数上限(C语言)

阅读量:

在处理用户输入时出现的溢出问题,始终是一个令人困扰的难题。然而,除了应对错误输入之外,是否还有更为有效的解决途径呢?
直接展示代码:

复制代码
    #include<stdio.h>
    #include<conio.h>
    #pragma warning (disable:4996)
    #define max 4//限定输入范围(可自行修改数值)
    char SecretPassword(char secret[]) 
    {
    	int i = 0;
    	unsigned char x;
    	while ((x = getch()) != '\r')
    	{
    		if (x != '\b' && i >= 0 && i < max-1)//因为要给字符串加结尾的\0,所以要留一个位(max-1)
    		{
    			secret[i] = x;
    			i++;
    			printf("%c", x);
    		}
    		else if (x == '\b' && i > 0)
    		{
    			i--;
    			printf("\b \b");
    		}
    	}
    	printf("\n");
    	secret[i] = '\0';

全部评论 (0)

还没有任何评论哟~