一个小小的题目,出了点问题。
//输入一个有十二个字符的字符串,并将其中从第四个字符开始复制到另一个字符中去
#include<iostream>
#include<string>
using namespace std;
int main()
{
cout<<"请输入一个有十二个字符的字符串"<<endl;
string str1,str2;
cin>>str1;
int k;
for(k=3;k<=11;k++)
{
str2[k-3]=str1[k];
}
cout<<"原始数据为"<<str1<<endl<<"复制后的数据为"<<str2;
return 0;
}
这个怎么没有用的,请指出错误,最好能帮改一下;
[解决办法]
str2默认是空的。空字符串不能使用下标的,只有在里面有元素时才能用下标,可以这样
#include<iostream>
#include<string>
using namespace std;
int main()
{
cout<<"请输入一个有十二个字符的字符串"<<endl;
string str1,str2;
cin>>str1;
for(int k=3;k!=12;k++)
{str2+=str1[k];
}
cout<<"原始数据为"<<str1<<endl<<"复制后的数据为"<<str2;
return 0;
}
运行通过