读书人

纠结了好久,大神帮忙解决一下,最好能加

发布时间: 2012-03-21 13:33:15 作者: rapoo

纠结了好久,大神帮忙解决一下,最好能加点注释
编写程序读入一组string类型的数据,并将它们存储在vector中.接着,把该vector对象复制给一个字符指针数组.为vector中的每个元素创建一个新的字符数组,并把该vector元素的数据复制到相应的字符数组中,最后把指向该数组的指针插入字符指针数组.

个人就是觉得C++的数组维数定义好多限制.然后就不懂的简单的把vector中的数据复制到数组中,都是做的很傻...
还有就是string和char之间的转换有点不适应!还有数组指针也有一点小问题...大家帮帮我把注释弄一下,让我理解一下...
非常感谢!!!!

[解决办法]

C/C++ code
#include <iostream>#include <string>#include <vector>using namespace std;int main(int argc, char **argv){    string word;    vector<string> svec;    cout<<"input some words:"<<endl;    //往sve添加元素    while (cin>>word)    {        svec.push_back(word);    }    int size = svec.size();    typedef char * charPtr;    //声明charPtr类型的动态数组,大小为svec的长度     charPtr *ptr = new charPtr[size];    charPtr word2;    //给字符数组中的元素初始化    for (int i = 0; i != size; ++i)    {        word2 = const_cast<char *>(svec[i].c_str());        ptr[i] = word2;    }    //输出字符数组中的元素    for (int i = 0; i != size; ++i)    {        cout<<ptr[i]<<endl;    }    delete []ptr;    system("pause");    return 0;} 

读书人网 >C++

热点推荐