方法一、getch()函数 —— Windows环境下
头文件 #include<conio.h>
getch()函数会读取一个输入的字符,但是并不会在屏幕上显示出
# include <iostream.h>
# include <stdio.h>
# include <conio.h>
int main()
{
char ch;
printf("请输入一个字符: ");
ch = getch(); //在输入字符的时候,屏幕上并看不到输入的字符
printf("输入的字符是:%c ",ch); //输出字符
return 0;
}
方法二、getpass()函数 —— Linux环境下
#include <unistd.h>
用于从控制台输入一行字符串,关闭了回显(输入时不显示输入的字符串)。
char * getpass (const char * prompt);
参数prompt为提示字符串地址。
函数返回值:输入字符串地址。
函数说明:getpass()会显示参数prompt所指的字符串,然后从/dev/tty中读取所输入的密码,若无法从/dev/tty中读取则会转从标准输入设备中读取密码。所输入的密码长度限制在128个字符,包含结束字符NULL, 超过长度的字符及换行字符/n将会被忽略。在输入密码时getpass()会关闭字符回应,并忽略一些信号如CTRL-C 或 CTRL-Z所产生的信号
#include<cstdio>
#include<unistd.h>
int main(void)
{
char *password;
password = getpass("Input a password:"); /*输入密码*/
printf("The password is: %s", password); /*显示密码*/
return 0;
}
getpass函数通常会与crypt加密函数一同使用
详见:https://blog.csdn.net/weixin_42073412/article/details/100139824