今天碰到个很有趣的问题:
怎么用C语言怎么实现类似密码输入的效果?(输入一个字符时用*号表示)
群里就有大佬回答了这个问题:
有个好玩的函数的 叫getch(注意与getchar区分)
getch函数介绍如下
1 | getch(); |
注意:
1.在使用之前要调用initscr(),结束时要调用endwin()。否则会出现不输入字符这个函数
也会返回的情况。
2.在不同平台,输入回车,getch()将返回不同数值,而getchar()统一返回10(即\n)
(1)windows平台下ENTER键会产生两个转义字符 \r\n,因此getch返回13(\r)。
(2)unix、 linux系统中ENTER键只产生 \n ,因此getch返回10(\n)。
(3)MAC OS中ENTER键将产生 \r ,因此getch返回13(\r)。
3.getch();并非标准C中的函数,不存在C语言中。所以在使用的时候要注意程序的可移植性。
e.g
1 | #include<conio.h> |