您的位置:首页 > 其它

字符指针数组和字符数组应用

2014-11-03 11:26 246 查看
#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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: