C++ Primer 第4章 习题4.34

来源:互联网 发布:货运app软件 编辑:程序博客网 时间:2024/06/11 17:11
//4.34.cpp//读入一组string类型的数据,并将它们存储在vector中//接着,把该vector对象复制给一个字符指针数组。//为vector中的每个元素创建一个新的字符数组,//并把该vector元素的数据复制到相应的字符数组中//最后把指向该数组的指针插入字符指针数组#include<iostream>#include<vector>#include<string>using namespace std;int main(){vector<string> svec;string str;//输入vector元素cout<<"Enter strings:(Ctrl+Z to end)"<<endl;while(cin>>str)svec.push_back(str);//创建字符指针数组char **parr=new char*[svec.size()];//处理vector元素size_t ix=0;for(vector<string>::iterator iter=svec.begin();iter!=svec.end();++iter,++ix){//创建字符数组char *p=new char[(*iter).size()+1];//复制vector元素的数据到字符数组strcpy(p,(*iter).c_str());//将指向该字符数组的指针插入到字符指针数组parr[ix]=p;}//释放个字符数组for(ix=0;ix!=svec.size();++ix)delete[] parr[ix];//释放字符指针数组delete[] parr;return 0;}