vector 与 CString

编程环境是 VC6 + WindowsXP SP3。     太怪异了。      

 

   今天没事干写个程序,读取数据库程序的,从access读取数据。

           使用关键字搜索,SQL模糊查询,数据库表有两个字段,一个是题目,另外一个是选项。

           将找到的问题全部加到一个listbox,我先想的是将选项放到vector里面。 最后在点击listbox里面的一项时,将当前的问题的选项直接取出来。 谁知道 发现了一个怪事。  我查询出来的选项字段是1930,1930, 多伦多路,上海时,vector的数据出现异常现象。 具体原因不清楚,怀疑是vector里面的数据,出现了问题。我为了找到原因,就将存储问题的时候把选项也加到问题里面,就是正常的,但是放在vector就是错误的。

           做了一个这样的测试 ,从数据库读取数据出来后,将选项存储两份,一份在listbox,一份在vector,

    怪异的事发生了。   listbox   1930,1930, 多伦多路,上海;

                                   vector    1930,1930, 上海,多伦多路;

            同时存储的数据,到两个不同的数据结构里面,数据乱了。就是多伦多跟上海两个互换了位置, 无语了 ,还搞了很久,以为是vector给排序了,最后我遍历了下,根本就没有排序。

 但是最后我i在插入的时候 不插入选项了 我格式化一个字符串进去。 str.format("%d");

   这样子又是正常的,两个数据是一样的。 无语啊。 看来是vector 跟CString 的问题。

你可能感兴趣的:(Windows/VC/MFC)