输入密码显示星号
非常簡單,只要會用 \r 和 \b 這兩個轉義字符就行了。直接上代碼:
#include <stdio.h> #include <string.h>int main() {char key[100] = ""; //保存密碼的字符串char *p = key; //用來遍歷字符串的指針printf("請輸入密碼\n");while ((*p = getch()) != '\r') {if (*p == '\b' && p > key) {putchar('\b');putchar(' ');putchar('\b');p--;}else if (*p != '\b') {putchar('*');p++;}}printf("\n您輸入的密碼是\n%s\n", key);return 0; }函數 getch()可以接受一個字符,和getchar()的區別是它不會將字符顯示出來。\b代表退格,如果輸入的是退格,那么就退格,在原來的*上面打印一個空格,再退格,從而實現刪除一個字符的功能。必須確保指針p指向的是key后面,否則會把提示信息也刪除掉。
總結
- 上一篇: 向函数传递一维数组和已知大小的二维数组
- 下一篇: const * 和 * const 的区