我正在尝试使用getch()循环读取字符串。当我按退格键时,它将退格键作为字符读取。因此,当我按退格键时,我需要擦除读取的字符。我需要从屏幕上删除。
while((c=getch())!=13)
{
if(c==8)
{
i=i-1;
}
else
{
printf("*");
str[i]=c;
i++;
}
}
str[i]='\0';
答案 0 :(得分:0)
我想你想读密码
char str[100];
int c;
int i=0;
while((c=getch())!='\r')
{
if(c!='\b')
{
printf("*"); // putchar not ok with MSVC ?
str[i++]=c;
}
else if (i != 0) {
printf("\b"); // or putchar
i -= 1;
}
}
str[i]='\0';
printf("str=%s\n", str);
该代码无法检查密码,长度不超过99个字符...