回答
查看我的代碼。它的工作原理我FC9 x86_64的系統上:
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <termios.h>
int main(int argc, char **argv)
{
char passwd[16];
char *in = passwd;
struct termios tty_orig;
char c;
tcgetattr(STDIN_FILENO, &tty_orig);
struct termios tty_work = tty_orig;
puts("Please input password:");
tty_work.c_lflag &= ~(ECHO | ICANON); // | ISIG);
tty_work.c_cc[ VMIN ] = 1;
tty_work.c_cc[ VTIME ] = 0;
tcsetattr(STDIN_FILENO, TCSAFLUSH, &tty_work);
while (1) {
if (read(STDIN_FILENO, &c, sizeof c) > 0) {
if ('\n' == c) {
break;
}
*in++ = c;
write(STDOUT_FILENO, "*", 1);
}
}
tcsetattr(STDIN_FILENO, TCSAFLUSH, &tty_orig);
*in = '\0';
fputc('\n', stdout);
// if you want to see the result:
// printf("Got password: %s\n", passwd);
return 0;
}
使用此代碼,如果用戶輸入退格鍵,它將顯示爲*。在通過寫入(STDOUT_FILENO,「*」,1)寫入後,是否有支持通過退格鍵刪除輸入的方法? – 2011-01-28 16:18:51
手動操作;每次讀取輸入一個字符,例如conio中的getch(),併爲每個字符打印一個*。
conio.h是windows中的頭文件。 我使用的是Ubuntu。我該怎麼做? – root 2009-11-18 06:28:09
然後你可能會想要使用一個curses庫。 – 2009-11-18 06:38:02
查看ncurses庫。這是一個非常寬鬆的許可證庫,在各種系統上有大量的功能。我沒有用過它,所以我不確定你想要調用哪些函數,但是如果看看documentation,我相信你會找到你想要的。
使用這樣一個 程序問我更多的問題
這個程序是用來放*代替char和它使用退格鍵後刪除輸入^^
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
char a[100],c;
int i;
fflush(stdin);
for (i = 0 ; i<100 ; i++)
{
fflush(stdin);
c = getch();
a[i] = c;
if (a[i] == '\b')
{
printf("\b \b");
i-= 2;
continue;
}
if (a[i] == ' ' || a[i] == '\r')
printf(" ");
else
printf("*");
if (a[i]=='\r')
break;
}
a[i]='\0';
printf("\n%s" , a);
}
- 1. 如何掩蓋HSQL密碼
- 2. 在Django中掩蓋密碼
- 3. 掩蓋java中的密碼字段
- 4. 如何在iOS中掩蓋UILabel - Objective-C
- 5. 掩蓋密碼輸入到UITexfield
- 6. 最簡潔到與string.replace掩蓋密碼
- 7. 如何掩蓋「工作表」輸入框的密碼
- 8. 如何在C++中使用位掩碼?
- 9. 在Python中掩蓋密碼輸入的問題
- 10. 在php腳本中掩蓋真正的用戶名,密碼,dbname
- 11. 在ReactJS中輸入掩碼密碼
- 12. 如何掩蓋UIView
- 13. 如何在HTML中應用掩碼來輸入密碼?
- 14. 如何使用java在android中掩碼密碼?
- 15. 如何在JSF中執行密碼掩碼
- 16. 用數組掩蓋Numpy掩碼
- 17. 如何在IOS sdk中掩蓋圖像?
- 18. 如何在Flex中掩蓋Datefield?
- 19. 如何在createjs中掩蓋dom元素
- 20. 在密碼字段中禁用密碼掩碼
- 21. 密碼掩蓋自定義字段在果園CMS
- 22. 密碼掩碼字符
- 23. 掩碼密碼字符串
- 24. 如何在c中解密密碼#
- 25. 試圖掩蓋在文本框C中的護照號碼#
- 26. 將所有輸入的文本以密碼格式掩蓋在textarea中,例如********
- 27. 掩碼在jquery中加入密鑰
- 28. 掩碼字符串中的密碼
- 29. 如何掩蓋字符串?
- 30. C4如何掩蓋工作?
你的意思只是在命令行或特定的gui?例如,在Windows中,本地編輯框可以自動完成此操作。 – justinhj 2009-11-18 06:18:35
在命令行 – root 2009-11-18 06:24:37
閱讀http://www.gnu.org/software/coreutils/manual/libc/getpass.html – sambowry 2009-11-18 06:51:27