用“*”C替换输入

我希望用户输入一个密码.当然这是一个秘密的密码,所以没有人应该看到它.
所以我试图用’*’替换用户输入的字母和数字.这是我的尝试.

while ((pw=getch())!='x'){
cout << "*";
strcpy(pwstring,pw);

}

input_pw=atoi(pwstring.c_str());

后来我希望’x’成为’enter’.但目前并不重要.有了这个,我在Visual Studio下得到了一些编译器错误.

Fehler  3   
error C2664: 'strcpy': Konvertierung des Parameters 1 von 'char' in 'char *' nicht möglich  c:\users\tim\desktop\kalssnne\methoden.h    zeile: 70

我会尝试翻译这个.

error 3
error C2664: 'strcpy': converting of parameter 1 from 'char' to 'char*' is not possible.



  official english error code
    "'function' : cannot convert parameter number from 'type1' to 'type2'" 

thank u:  R. Martinho Fernandes

但这意味着什么,我该如何解决?

希望你能帮助我

问候.

解决方法:

你的问题不是关于C,而是关于如何与终端进行交互.该语言(故意)完全不知道输入和输出的处理方式,您担心的一切都是终端的行为方式.因此,任何答案都将在很大程度上取决于您的平台和终端.

在Linux中,您可能希望查看termios.h或ncurses.h.有一个旧的Posix函数getpass()可以执行类似于你想要的东西,但它已被弃用了.

不幸的是,我不知道如何在Windows中进行终端编程.

上一篇:Codeforces 631C


下一篇:056_统计/etc/passwd 中 root 出现的次数