輸入密碼顯示星號
阿新 • • 發佈:2018-11-10
非常簡單,只要會用 \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後面,否則會把提示資訊也刪除掉。