对于string赋值的一点疑问,求解答
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<char> cvec(10);
for(int i=0;i!=9;i++)
cvec[i]='a'+i;
cvec[9]='\0';
string s("abc");
for(int i=0;i!=cvec.size();i++)
{
s[i]=cvec[i];
}
for(int i=0;s[i]!='\0';i++)
cout<<s[i]; //这里输出的是abcdefghi
cout<<endl;
cout<<s<<endl; //这里输出的是abc
getchar();
return 0;
}
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<char> cvec(10);
for(int i=0;i!=9;i++)
cvec[i]='a'+i;
cvec[9]='\0';
string s("abc");
////////////////
s.resize(cvec.size());
///////////////
for(int i=0;i!=cvec.size();i++)
{
s[i]=cvec[i];
}
for(int i=0;s[i]!='\0';i++)
cout<<s[i]; //这里输出的是abcdefghi
cout<<endl;
cout<<s<<endl; //这里输出的是abc
getchar();
return 0;
}