首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vector中元素是结构体的有关问题

2012-08-21 
vector中元素是结构体的问题请问假如vector中元素是一个结构体指针类型,如何输出其中的值?比如说定义如下:

vector中元素是结构体的问题
请问假如vector中元素是一个结构体指针类型,如何输出其中的值?
比如说定义如下:
    struct   xmlNode
    {
        char*   m_nName;
        char*   m_nValue;
    };

vector <xmlNode   *>   vectorNode;

xmlNode   *pNode   =   new   xmlNode();
pNode-> m_nName   =   "price ";
pNode-> m_nValue   =   "4.7 ";
vectorNode.push_back(pNode);
在容器中插入很多元素,怎么输出其中的值?

[解决办法]
vector <xmlNode *>::iterator iter = vectorNode.begin();
for (; iter != vectorNode.end(); iter++)
{
xmlNode *pNode = *iter;
cout << pNode-> m_nName << pNode-> m_nValue;
}
[解决办法]
http://www.cplusplus.com/reference/stl/vector/begin/

参考vector迭代器的用法,看看书也行。下面是一个可以编译过的,最好自己写一下

C/C++ code
struct   xmlNode    {        char*   m_nName;        char*   m_nValue;    };int main (){    vector <xmlNode   *>   vectorNode;    xmlNode   *pNode   =   new   xmlNode();    pNode-> m_nName   =   "price ";    pNode-> m_nValue   =   "4.7 ";    vectorNode.push_back(pNode);    vector<xmlNode   *>::iterator it;    for ( it=vectorNode.begin() ; it < vectorNode.end(); it++ )    {        printf("name:%s,value:%s\n",(*it)->m_nName,(*it)->m_nValue);    }    delete pNode;  return 0;}
[解决办法]
解析xml?既然都用了vector,为什么不用string?

C/C++ code
struct XMLNode{    string sName;    string sValue;};vector <XMLNode *> vectorNode;XMLNode *pNode = new XMLNode();pNode->sName = "Price";pNode->sValue = "4.7";vectorNode.push_back(pNode);cout << vectorNode[0]->sName.c_str() << ": " << vectorNode[0]->sValue.c_str() << endl; 

热点排行