2013-04-04 47 views
-1

这是要点。我有一个字符串结构,它有一个可以调用结构中的信息的向量。我想创建一个我可以参考的文件,但为了做到这一点,我需要一个具有字符和结构大小的结构,我不能将原始结构切换为字符。这就是我:将一个向量复制到一个结构中

struct PERSON 
{ 
    string fName; 
    string lName; 
    string Address; 
}; 

struct tmpPERSON 
{ 
    char fName2[50]; 
    char lName2[50]; 
    char Address2[50]; 
}; 

class addressBook 
{ 
private: 
    vector<PERSON> people; 
}; 

我需要能够将存储的信息从我的人矢量复制,到我tmpPERSON结构。任何人都知道如何做到这一点,因为我迷失了方向。

+5

你能解释为什么你有两个相同但独立的'struct' defintions? – NPE

+0

您是否知道'struct'定义基本上只是该类型对象的外观描述?看起来你想要一个'struct'和*两个*对象。 –

+2

一旦你有两个相同类的对象,它只是'obj2 = obj1;'的问题。 – chris

回答

0

像这样:

for (vector<PERSON>::iterator iter = people.begin(), end = people.end(); iter != end; ++iter) 
{ 
    tmpPERSON tmp; 

    strncpy(tmp.fName, iter->fName.c_str(), 50); 
    strncpy(tmp.lName, iter->lName.c_str(), 50); 
    strncpy(tmp.Address, iter->Address.c_str(), 50); 

    // use tmp as needed... 
} 
+0

这工作,谢谢! –

+0

我实际上已经尝试了一个for循环与人[i] .fName = temp.fName2 ;,但这工作方式更好,再次感谢! –

相关问题