VC++6.0转VS2017出现的问题
学校一直在用VC++6.0教C语言,可是大部分企业都用 VS 写C代码,于是我就转用VS了,用的是VS2017,然后我就把我之前做的一些程序移到VS上面打开然后就出现了一些问题,我转移的一个有用户登录的学生成绩管理程序,开始输入账号密码登录,然后密码输入显示星号,在VC++6.0上运行没有任何问题,但是用VS2017运行,输入密码的时候输入一个字符显示两个星号,输完还显示错误,回退也用不了,连个getch()也不好使了
不准备用VC了,改用VS2017了,麻烦各位大佬看一下问题出在哪,登录模块代码如下:
程序代码:void load()
{
int i = 0;
char a[16], b[16];
char username[] = "f123"; //预先设定好账户名和密码
char password[] = "f321";
for (; i <= 2; i++)
{
printf("\t\t\t\t 账户登录\n\t\t\t注:默认登录账号 f123 , 密码 f321 ,错误三次退出程序\n\n");
printf("\t\t\tusername:");
gets_s(a,16);
printf("\t\t\tpassword:");
for (int s = 0;; s++)
{
b[s] = _getch();
if (b[s] == '\r') // 输入的为空格时,自动转为'/0'结束输入
{
b[s] = '\0';
break;
}
else if (b[s] == '\b')
{
printf("\b \b"); // 输入的为退格键时,自动往前一格用空格覆盖
s = s - 2; // 删除字符
continue;
}
printf("*");
}
if (strcmp(a, username) == 0 && strcmp(b, password) == 0)
{
printf("\n\t\t\t----欢迎登录----\n\n\t\t\t按任意键进入!\n");
_getch();
return;
}
else
{
printf("\n\t\t\t用户名或密码错误!\n\n\t\t\t按任意键重新输入!\n");
_getch();
system("cls");
}
}
printf("\t\t\t输入次数超过限制,账户锁定\n");
exit(1);
}

