#include<iostream>
#include<string>
#include<vector>
using namespace std;
void main()
{
vector<string> text;
string word;
//编写程序读入一组string类型的数据,存储在vector中
while(cin>>word)
text.push_back(word);
//将vector对象复制给一个字符指针数组
//为vector中的每个元素创建一个新的字符数组
//把vector元素的数据复制到相应的字符数组中
//把指向该数组的指针插入字符指针数组
//创建字符指针数组
char **ptr=new char *[text.size()];//指向字符指针的指针所以是双解引用
size_t ip=0;
for(vector<string>::size_type ivec=0;ivec!=text.size();++ivec,++ip)
{
//创建字符数组
char *p=new char[text[ivec].size()+1];
//复制vector元素到字符数组
strcpy(p,text[ivec].c_str());
//将指向该字符数组的指针插入到字符指针数组
ptr[ip]=p;
}
//输出vecotr对象内容
cout<<"content of vector:"<<endl;
for(vector<string>::iterator ix=text.begin();ix!=text.end();++ix)
cout<<*ix<<endl;
//输出数组内容
for(ip=0;ip!=text.size();++ip)
cout<<ptr[ip]<<endl;
//释放字符数组
for(ip=0;ip!=text.size();++ip)
delete [] ptr[ip];
//释放字符指针数组
delete [] ptr;
}
字符指针数组和字符数组应用
最新推荐文章于 2023-04-15 12:15:25 发布