您的位置:首页 > 编程语言 > C语言/C++

用string类型的vector对象创建一个字符指针数组

2014-04-18 10:46 393 查看
#include<iostream>
#include<vector>
#include<cstring>

using namespace std;

int main()
{
vector<string> svec;
string str;
cout<<"Enter strings:(Ctrl+Z to end)"<<endl;
while(cin>>str)
svec.push_back(str);
char **parr=new char*[svec.size()];
size_t ix=0;
for(vector<string>::iterator iter=svec.begin();
iter!=svec.end();++iter,++ix)
{
char*p=new char[(*iter).size()+1];/*创建字符数组*/
strcpy(p,(*iter).c_str());/*赋值vector元素的数据到字符数组*/
parr[ix]=p;/*将指向该字符数组的指针插入到字符指针数组*/
}
cout<<"Content of Vector:"<<endl;
for(vector<string>::iterator iter2=svec.begin();
iter2!=svec.end();++iter2)/*输出vector对象的内容*/
cout<<*iter2<<endl;
cout<<"Content of character arrays:"<<endl;
for(ix=0;ix!=svec.size();++ix)/*输出字符数组的内容*/
cout<<parr[ix]<<endl;
for(ix=0;ix!=svec.size();++ix)/*释放每个字符数组*/
delete [] parr[ix];
delete [] parr;/*释放指针数组*/
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐