关于out of range的问题(帮我看一下代码)
以下代码运行时显示超出界限,不知道为什么?请问该如何修改?
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
void copy(string & n);
int main()
{
cout<<"Enter a string(q to quit):"<<endl;
string str;
getline(cin,str);
while(str!="q")
{
copy(str);
cout<<str<<endl<<"Enter a string(q to quit):"<<endl;
getline(cin,str);
}
return 0;
}
void copy(string & n)
{
int i=0;
while(n[i])
n[i]=toupper(n[i++]);
}