**Exercise
4.34:
编写程序读入一组 string 类型的数据,并将它们存储在
vector 中。接着,把该 vector 对象复制给一个字符指
针数组。为 vector 中的每个元素创建一个新的字符数
组,并把该 vector 元素的数据复制到相应的字符数组
中,最后把指向该数组的指针插入字符指针数组。
Exercise
4.35:
输出习题 4.34 中建立的 vector 对象和数组的内容。输
出数组后,记得释放字符数组。**
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
int main()
{//-1-
string s;
vector<string> str;
while(cin >> s)
{
if(s == "0")
break;
str.push_back(s);
}
//-2-
char **cstr = new char*[str.size()];
//-3-
for(vector<string>::size_type i = 0; i != str.size(); i++)
{
char *arr = new char[str[i].size() + 1];//+1包含结束符NULL
strcpy(arr, str[i].c_str());
cstr[i] = arr;
}
//-4-
int couter = 0;
for(vector<string>::iterator iter = str.begin(); iter != str.end(); iter++)
{
cout << "vector输出:" << *iter << endl;
cout << "字符数组输出:" << cstr[couter] << endl;
delete []cstr[couter];
couter++;
}
delete []cstr;
return 0;
}