C언어에서 패스워드값을 입력받으려 할 때 문자 대신 *표시가 나오도록 하는 코드입니다.


#include <stdio.h>


int main()

{

char pass[10];

int i = 0;


/* Case 1

while(1)

{

pass[i]=getch();

if(pass[i] != '\r')

{

printf("*");

i++;

}

else

{

return 0;

}

*/

/* Case 2

while(pass[i]=getch()!='\r') 

printf("*");

i++;

}

*/

return 0;

}


혹은 getch()를 이용하여 입력되는 문자열이 안 보이도록 코딩하는 방법도 있습니다.






저작자 표시 비영리 변경 금지
신고

'Language > C' 카테고리의 다른 글

간단한 변수 값 스왑 팁  (0) 2014.05.22
C언어로 패스워드 입력(* 마스킹)  (2) 2014.05.19
[C언어] 입력 버퍼 지우기  (0) 2014.03.07
[C언어] 웹 사이트로 접속 요청  (0) 2014.03.07
  1. 촘오에요 2017.08.03 15:40 신고

    왜 입력 종료 확인 값을 뉴라인이 아니라 캐리지 리턴을 쓰나요??

    • Favicon of http://pwnbit.kr pwnbit 2017.08.23 09:43 신고

      뉴라인과 캐리지리턴의 차이를 이용하기 위해서입니다. Line Feed를 안 해주기 위해서죠.
      패스워드 입력 이후 커서가 아래줄로 내려가는 것을 막기위해서이구요.

      만약 패스워드가 틀렸을 경우 \n을 쓴다면 Input PW : ******
      ******
      ******
      이런식으로 입력이 되버리겠죠..
      계속해서 Input PW : ***** 이렇게 한 줄로 표현해주기 위해서입니다.

+ Recent posts

티스토리 툴바