1. 程式人生 > >輸入密碼顯示星號

輸入密碼顯示星號

非常簡單,只要會用 \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後面,否則會把提示資訊也刪除掉。