现在我Ini配置文件里面是这样的info.ini
[session1]
ip = 1.1.1.1
port = 1000
user = aaa
password = aaa[session2]
ip = 2.2.2.2
port = 2000
user = bbb
password = bbb[session3]
ip = 3.3.3.3
port = 3000
user = ccc
password = ccc.......
共有一万多个数据
我有一个结构体
struct NetInfo
{
    char *ip;
    int port;
    char *user;
    char *password;
}我怎样才能把数据放到全部vector<NetInfo> m;中去。。m里面要有10000多个结构体类型的数据啊~

解决方案 »

  1.   

    不一定用Ini保存数据。可以这样,把所有数据后,存入:
    vector<NetInfo> m然后,把m按2进制写盘成m.bin;需要时,用内存映射把m.bin直接映射到m中。映射中要用m[0],取内存地址。1秒针就可以完成。
      

  2.   

    读取配置文件就用:
    DWORD GetPrivateProfileString(
      LPCTSTR lpAppName,        // section name
      LPCTSTR lpKeyName,        // key name
      LPCTSTR lpDefault,        // default string
      LPTSTR lpReturnedString,  // destination buffer
      DWORD nSize,              // size of destination buffer
      LPCTSTR lpFileName        // initialization file name
    );用循环读,每次修改下lpAppName就行。读一个,存一个(vector的push_back)
      

  3.   

    不知道楼主有什么困惑,如果觉得读取速度慢,可以先使用1楼的方法试试。
    如果不知道怎么读取ini数据,速度要求不是很高,可以直接用2楼说的方法读取,建议楼主在ini文件中,再加一个字段:
    [Total_Num]
    Num=10000
    这样,就可以先知道有多少数量,然后用for循环一个一个的读取出来,然后读一个push_back一次。或者可以自己读一个单链表来存储。
      

  4.   

    一条一条读、一个一个加就可以了啊
    不过vector里应该用指针