2017-11-13 2 views
0

컴파일러 코드 :: 블록 운영 체제 (OS)를 비밀번호 마스킹 (중복되지 않음)

나는 내가 구축하고 내 코드를 실행 internet.When에 복잡한 것들과는 달리 아주 간단한 암호 마스킹 프로그램을 작성 -Windows "암호 입력"이 표시되지만 아무 것도 입력 할 수 없습니다. 그때 비밀번호를 입력하면 비밀번호 마스킹

는 말은 그것이 **** 는 E 메일로 일어나는 것처럼 입력되는 동안 표시된다. (하나 * 각 문자)

#include <iostream> 
#include <string> 
#include <conio.h> 

using namespace std; 

int main() 
{ 
    string pass; 

    cout << "Enter password"; 

    for (int i=0; i<100; i++) 
    { 
     char ch = getch(); 

     if (ch == 13) 
      break; 

     if (ch == 8) 
     { 
      if (pass.size()) 
      { 
       cout << "\b \b"; 
       pass.pop_back(); 
      } 
     } 
     else 
     { 
      cout << "*"; 
      pass += ch; 
     } 
    } 

    cout << "pass = " << pass << '\n'; 
} 
+0

Windows 7의 표준 명령 프롬프트에서 TDM-GCC 5.1.0을 사용하면 오류가 발생하지 않습니다. (어떤 컴파일러/버전을 사용하고 있습니까?)'cin.sync_with_stdio (true)'를 시도해보고 차이가 있는지보기를 원할 수 있습니다. (Conio 물건은 장면 뒤에 제대로 작동하기 위해 여분의 이상한 억양이 필요합니다.) –

+3

* 나는 인터넷에서 복잡한 것들과 달리 매우 간단한 암호 마스킹 프로그램을 작성했습니다. * - 인터넷상의 것들이 왜 " 복잡한". 콘솔 I/O는 생각만큼 간단한 것은 아닙니다. – PaulMcKenzie

+0

Code :: Blocks **는 컴파일러가 아닙니다. 에디터 야. – tambre

답변

0

이봐. 나는 가장 간단한 솔루션을 발견했습니다. 설정> 컴파일러> 기본값 재설정 : |

관련 문제