jazmfg  
jazmfg

由于编译课程的需要,最近在用VC做一个简单词法分析器,期间遇到了一些问题,在此记录一下,希望于人于己都能有所帮助

 

一.关于Cstring 与 char*的转换问题:

     这是一个老生长谈的问题了.

     以 CString a  ; char * b为例

   1. char* -> CString

     a.Format("%s",b)即可把char *b转换为CString 型了

      同样的,CString类的 format函数还可以将其他类型的数据转换成CString型 , 例如a.Format("%d",c)即可把一int  

      型的数据c转换成CString

   2.CString -> char*

     方法1.b = a.GetBuffer(a.GetLength()) 

            不过在结束时要注意 a.ReleaseBuffer()

     方法2. b= (LPCTSTR)a    

     两者区别:

              前者是转换为动态char空间,可对b中的内容进行修改.

              后者则是转换为const char*,适用于作传入函数的参数时用.

 

二. 如果不小心删除了rs文件夹,恢复后出现"该文件夹已经在其他文件中打开"的情形

    只要删除opt ,与 ncb文件,重新编译一下即可

 

三. 如果编程过程中代码提示突然不见了,只要删除ncb文件,重新编译一下即可

 

四. 要在主窗口外获取窗口控件的指针

    theApp.m_pmainwd -> GetdlgItem( IDC_XXX)

    IDC_XXX :资源名

    但是有个问题还未搞明白,为什么theApp.m_pmainwd-> XXX 无法调用我新建的成员函数与成员变量,只能调用原先就有的变量与函数

posted on 2009-03-22 14:25  jazmfg  阅读(271)  评论(0编辑  收藏  举报