CString LPCTSTR LPTSTR 三者之间的关系(如何使用)
还有UPDATEDATA(FALSE)什麽意思程序编写完后,编译没有通过,但是在执行的时候,却告诉我内存发现异常
这是什麽原因

解决方案 »

  1.   

    char *p;
    CString str="dfsafdsf";p=(LPCTSTR)(LPTSTR)str;这句等价:p=str.GetBuffer(0);
    (LPCTSTR)(LPTSTR) 就是进行强制转换为char 指针!
      

  2.   

    UpdateDate(TRUE/FALSE);TRUE 就是将控件的值传给变量FALSE 就是将变量的值传给控件,得以显示!
      

  3.   

    char *p;
    CString str="dfsafdsf";p=(LPCTSTR)(LPTSTR)str;这句等价:p=str.GetBuffer(0);
    (LPCTSTR)(LPTSTR) 就是进行强制转换为char 指针!
    UpdateDate(TRUE/FALSE);TRUE 就是将控件的值传给变量FALSE 就是将变量的值传给控件,得以显示!
      

  4.   

    CString是一个类,但是实际上是一个字符串指针类,包含了串长等信息,可以和LPCTSTR相互强制转化。
    LPCTSTR是静态字符串指针,如同:char c[100];
    LPTSTR是动态的,如同:char *c;
    有不完善的地方可参考msdn:You can freely substitute CString objects for const char* and LPCTSTR function argumentsLPCTSTR   A 32-bit pointer to a constant character string that is portable for Unicode and DBCS.LPTSTR   A 32-bit pointer to a character string that is portable for Unicode and DBCS.
      

  5.   

    如,你在对话框里设置了一个CEdit控件edit1,你要每秒更新一次edit1的值,就要在OnTimer中,更新完edit1之后调用UpdateData(FALSE),才能将其显示出来。
    相反,你要通过键盘给edit1赋值,必须调用UpdateData(TRUE).
      

  6.   

    http://www.csdn.net/Develop/Read_Article.asp?id=12365
    http://www.vckbase.com/study/article/data_convert.htm
      

  7.   

    CString是类;
    在Windows.h头文件中有如下定义:
    typedef const char* LPCTSTR;
    typedef short* LPTSTR;