我是个新手,现在有两个问题请各位高手不吝指教:
1、在VC中进行MFC编程时,不论是单文档还是多文档,在InitInstance函数中手工打造多文档模板类型程序时,我已经实现了,此时运行时按“新建”菜单选项会弹出一个“新建”小对话框(其ResourceID我也查到了,如何修改这个由编译系统内定的小对话框我也实现了),现在比如我在单文档程序中做了分别用于处理三种文档类型的三个文档模板类型,那么在这个“新建”对话框中的列表框内就会有相应三个选项(当然它们三个肯定都是字符串,可由pDocTemplate->GetDocString()获得),分别选择其中之一就会对应去处理三种不同的文档类型,而且我也实现了通过传入命令行参数来实现右键快捷菜单的功能,现在我知道的是CDocManager中有一个指针链表CPtrList m_templateList,专门用来维护一系列的文档模板的,既然是链表就应该有其各个元素的索引值,现在的问题是我想在这个“新建”对话框中选择一项,就希望能获得其相应选项的索引号,这个索引号我准备在程序内部使用,但我又不知道该如何获得,请高手们在百忙中指点迷津。
2、依然是在VC中进行MFC编程,要打开一个9MB左右的ASCII文本数据文件(其行和列整齐有规律),我采用的是结构数组(Struct),其弊端是必先给出数组的范围大小,我知道可以动态分配数组范围大小,如何实现,这是一个小问题,第二个小问题是我已经可以实时地获得欲读入数据文件的行数或者说是数据点个数,那么该如何实时地获得它的列数呢?因为这个行数和列数我要在程序内部引用它。对于动态分配数组空间范围以及预先实时动态地确定数据文件的行数和列数,各位高手有何高招,恳请你们不吝指教。
急着要用,请各位从速。不胜感激,谢谢!!!

解决方案 »

  1.   

    2.可以使用vector来实现,这是c++标准中的一个模板类,可以自动改变大小,是推荐来取代旧有的c风格的数组的至于第一个问题,没时间帮你试,所以无法帮你
      

  2.   

    关于问题2
    在前面#include <AfxTempl.h>然后声明一个变量
    CArray<CString,CString&>m_dataArray;
    然后就可以自由的操作m_dataArray了,
    包括添加删除,取得其中一个,这样这个array是变长的,就可以解决您的字符串问题了,
    使用时,add.到时候getat就可以了