对于一个只含有大小写和空格的字符串S,按空格将其拆分为若干字符串,存放在字符串数组t中。比如“Hello World”,将其拆分为“Hello”和“World”。
我用C++实现,却总是在t[num].assign(s,i-j,j);
这一句报错。请问这是为什么?应该怎么实现?
以下是这段代码。
string s;
int n;//s的长度
string *t=new string;
string s1;
int num=0;
int i=0;
while(i<n){
cout<<"i="<<i<<endl;
int j=0;//dancichangdu
while(s.at(i)!=32){
i++;
j++;
if(i>=n)
break;
}
t[num].assign(s,i-j,j);//报错的地方。运行到此处显示.exe"已停止工作"。
num++;//geshu
i++;
}
基础不扎实,希望大神多多指点。
我有点记不清了string支持 operate[]么? 你声明的string并不是个数组