unsigned

以后要是一事无成,还娶了个很龊的老婆,这些年的书都白读了啊!

导航

细节决定成败(基础知识收集)

 —— CString 转 char *

http://hi.baidu.com/yiduihaodadelaji/blog/item/ffee43240a35582dd5074248.html

1.传给未分配内存的const char* (LPCTSTR)指针.
   CString cstr(asdd);
   const char* ch = (LPCTSTR)cstr;
   ch指向的地址和cstr相同。但由于使用const保证ch不会修改,所以安全.

2.传给未分配内存的指针.
    CString cstr = "ASDDSD";
    char *ch = cstr.GetBuffer(cstr1.GetLength() + 1);
    cstr.ReleaseBuffer();
    //修改ch指向的值等于修改cstr里面的值.
    //PS:用完ch后,不用delete ch,因为这样会破坏cstr内部空间,容易造成程序崩溃.

3.第二种用法。把CString 值赋给已分配内存的char *。
    CString cstr1 = "ASDDSD";
    int strLength = cstr1.GetLength() + 1;
    char *pValue = new char[strLength];
    strncpy(pValue, cstr1, strLength);

4.第三种用法.把CString 值赋给已分配内存char[]数组.
    CString cstr2 = "ASDDSD";
    int strLength1 = cstr1.GetLength() + 1;
    char chArray[100];
    memset(chArray,0, sizeof(bool) * 100); //将数组的垃圾内容清空.

 

mfc edit box换行


"hello!   \n   csdn!   \n ".
改成
"hello!   \r\n   csdn!   \r\n ".

而且你的editbox控件的   want   return属性选上

posted on 2010-08-14 21:58  unsigned  阅读(303)  评论(0编辑  收藏  举报