Visual C ++不断中止我的循环。 string l1是80个字符长。出于某种原因,代码通过主循环的一次迭代,然后出现一个窗口,说明"调试错误... R6010 -abort()已被调用"终止程序。
for(int i=1;i<80;i++)
{
SetConsoleTextAttribute(hConsole, green);
for(int j=0;j<i;j++)
{
cout<<l1.at(j);
}
SetConsoleTextAttribute(hConsole,norm);
for(int k=i;k<80;k++)
{
cout<<l1.at(k);
}
Sleep(100);
system("CLS");
}
答案 0 :(得分:0)
试试这个
int len = strlen(l1) ;
for(int i=1;i<len;i++)
{
SetConsoleTextAttribute(hConsole, green);
for(int j=0;j<i;j++)
{
cout<<l1.at(j);
}
SetConsoleTextAttribute(hConsole,norm);
for(int k=i;k<len;k++)
{
cout<<l1.at(k);
}
Sleep(100);
system("CLS");
}
答案 1 :(得分:0)
这是因为你超出了你传递的字符串的界限。为什么要将80的值硬编码到代码中?