作者painfullove (要不回那些快樂)
看板C_and_CPP
標題[討論] 請問這個程式碼
時間Fri Apr 15 17:50:02 2011
這是一個輸入密碼的範例程式
01. #include <stdio.h>
02. #include <stdlib.h>
03. #include <conio.h>
04. int main(void)
05. {
06. char a[80],key;
07. int i=0;
08. while(1)
09. {
10. key=getch();
11. if(key=='\b')
12. {
13. printf("\b \b");
14. if(i>0)
15. i--;
16. }
17. else if(key=='\r')
18. {
19. printf("\n");
20. break;
21. }
22. else
23. {
24. printf("*");
25. a[i]=key;
26. i++;
27. }
28. }
29. a[i]='\0';
30. printf("%s\n",a);
31. system("pause");
32. return 0;
33. }
我想請問一下 程式的第11行~第21行
\b是代表倒退一格 \r是代表歸位
在這個程式中是要幹嘛用的呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.227.68.178
推 yuanyu90221:字串結束字元嗎? 有點忘了 04/15 18:45
推 yuanyu90221:XDD 推錯 04/15 18:47
→ yuanyu90221:應該是用來判斷 特殊字元的密碼吧 04/15 18:49
推 yuanyu90221:打錯是 是用來判度 getch 所讀入的char 來顯示所打 04/15 18:53
→ yuanyu90221:的密碼 04/15 18:53
→ yuanyu90221:\r 是字串結束的字元 \b是backspace的字元 04/15 18:57
推 yuanyu90221:應該說 按Enter 的字元是'\r' 一直打錯 04/15 19:02
→ tropical72:Press "Enter" 應是送出 "\r\n", 也有些系統只送 "\n" 04/15 19:16
→ tropical72:故截掉 \r。\b 為「←」這個鍵,所以把輸入錯的psw清掉. 04/15 19:17