輸入密碼不回顯,但是linux C下無getch()

    #include <termios.h>  
    #include <unistd.h>  
    #include <stdio.h>  
    int getch(void) {  
        struct termios tm, tm_old;  
        int fd = STDIN_FILENO, c;  
        if(tcgetattr(fd, &tm) < 0)  
        return -1;  
        tm_old = tm;  
        cfmakeraw(&tm);  
        if(tcsetattr(fd, TCSANOW, &tm) < 0)  
        return -1;  
        c = fgetc(stdin);  
        if(tcsetattr(fd, TCSANOW, &tm_old) < 0)  
        return -1;  
        return c;  
    }  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章