我有这个简单的程序,它会提示输入密码。我同时安装了Visual Studio 2012和2010。它在2010年有效,但在2012年我收到此错误:unresolved external symbol __report_rangecheckfailure referenced in function main
。另外,我通过将所有内容从main移到另一个函数来修改了代码。在两个版本上都适用。
某个库一定有一些问题,但是哪一个以及如何解决呢?谢谢。
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
int key, i;
char pwd[64];
printf("Enter passphrase: ");
key=getch();
i=0;
while (key!=13)
{
cout<<"*";
pwd[i++]=key;
key=getch();
}
pwd[i++]='\0';
cout<<strlen(pwd)<<endl;
for (i=0; i<strlen(pwd); i++)
cout<<pwd[i]<<endl;
getch();
}
如果项目是在VS 2010中启动的,则VS将使用MS VS 10.0 C库。如果您从2012年开始,它将使用vers。11.0库。VS 2012会在编译时调用__report_rangecheckfailure,但在版本10中的位置与在版本11中的位置不同。您可以在主项目菜单中将项目更新为VS 2012,或者禁用缓冲区安全性检查。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句