c中 禁止输入字符怎么写?

Python029

c中 禁止输入字符怎么写?,第1张

我简单写了个:只能输入数字,按回车键结束,可以按退格键退格.#include <stdio.h>

#include <conio.h>

void main()

{

int i=0,ch

while(1)

{

ch=getch()

if(ch>'0'&&ch<'9')

{

printf("%c",ch)

i++

}

if(ch==13)//回车键结束

{

break

}

else if(ch==8)//输入退格键

{

if(i==0)//当退到第一个字符的时候不能再退.

{

continue

}

else

{

printf("\b \b")//退一格

i--

}

}

}

}

可以用curses库来控制屏幕输出,例如:

/*注意,编译时要加上 -lcurses 参数,以便引入curses库*/

#include <curses.h>

#include <stdio.h>

int main(int argc,char *argv[])

{

char c

initscr()/*初始化curses程序*/

noecho()/*关闭屏幕回显*/

cbreak()/*将输入模式设置为字符中止模式*/

while ((c=getch())!='x')/*用getch()读取字符,循环用于演示,按x键结束程序*/

if (c!='a') {/*如果输入的不是a就输出这个字符*/

addch(c)/*在当前光标位置添加字符*/

refresh()/*刷新屏幕*/

}

nocbreak()/*将输入模式重新设置为默认的行模式*/

endwin()/*结束curses程序*/

return 0

}

这是不可能的,只有你点击之后才知道是非数字字符,

你可以用getch()来获取字符,同时该字符不会显示在控制台上,然后判断该字符是否数字,如果是数字,你可以putchar该字符,这样子看上去就可以达到你要的效果