getpass函数用法详解
getpass函数简介
- 头文件包含
#include <unistd.h>
- 函数定义
char *getpass(const char * prompt );
getpass函数常见使用错误
- 编译错误
warning: implicit declaration of function ‘getpass’ [-Wimplicit-function-declaration]
解决办法:包含头文件
#include <unistd.h>
getpass函数详细描述
此功能已过时。不要使用它。如果要在不启用终端回显的情况下读取输入,请参见termios (3)中ECHO标志的说明
getpass ()函数打开/dev/tty(进程的控制终端),输出字符串prompt 关闭回显,读取一行(“密码”),恢复终端状态并再次关闭/dev/tty。
getpass函数返回值
函数getpass ()返回一个指向静态缓冲区的指针,该缓冲区包含(的第一个 PASS_MAX 字节)不带尾随换行符的密码,以空字节(\(aq\e0\(aq)终止。这个缓冲区可能会被下面的调用覆盖。出错时,恢复终端状态,适当设置errno,并返回null。
getpass函数错误码
如果出现以下情况,则该功能可能会失败
- ENXIO 进程没有控制终端。
getpass函数其他说明
.在GNU C库实现中,如果/dev/tty无法打开,则提示符被写入stderr,密码从stdin 读取。密码的长度没有限制。未禁用行编辑。
根据SUSv2,如果 PASS_MAX 的值小于8,则必须在
评论区