1.CString 如何转为 char *2.char * 如何转为 CString3.如果我声明 char *str;
  但当我初始化 &str="";时 char *变为char[1]式
  应该如果处理?

解决方案 »

  1.   

    1.CString str;
    char *p;
    p=(LPCTSTR)str;2.char *p="ljdflf";
    CString str(p);3.问题我没有看清。
      

  2.   

    还有一个问题
    如果
    CString A;
    CString B;
    CString C;
    如果要实现 C=A+B
    应该如何实现
    这个最重要
      

  3.   

    1、可以使用CString.GetBuffer(CString.GetLength())转化为char*,也可以直接强制转化
    (char*)(LPCTSTR)(CString)
    2、使用CString.Format("%s",str),或者在声明的时候直接构造
    CString cStr(str);
    3、好像不能&str="";这么赋值吧
      

  4.   

    to:还有一个问题
    如果
    CString A;
    CString B;
    CString C;
    如果要实现 C=A+B
    应该如何实现
    这个最重要//////////////////
    CString A(“11”);
    CString B(“22”);
    CString C=A+B;
    这样写就可以~~~
    不知道  我有没有理解你的问题
      

  5.   

    char* pch="hehe";
    CString str(pch);
    char* p=(LPSTR)(LPCTSTR)(str);
    CString A("aa");
    CString B("bb");
    CString C=A+B;
      

  6.   

    那么这段代码,错在哪?
    为什么一运行,就内存溢出 WIN2000+VC6
    编译却可以通过         CFile mFile;
    CString strTemp;
    CString strTemp2;
    char *str1;
    char *str2;
    if(mFile.Open("c:\\a.txt",CFile::modeRead)==0) 
    {
    MessageBox("打开文件错误");
    }
    CArchive ar(&mFile,CArchive::load);
    while(ar.ReadString(strTemp))
    {
    str1=strTemp.GetBuffer(strTemp.GetLength());
    strcpy(str2,str1);
    }
      

  7.   

    你在strcpy(str2,str1);这一句上加个断点不就知道了
      

  8.   

    1.CString 如何转为 char *
    CString str1="ASDJKA";
    char *str=(LPSTR)(LPCTSTR)str1;
    2.char * 如何转为 CString
    char* str="asdfjk";
    CString str1=str;
    .如果我声明 char *str;
      但当我初始化 &str="";时 char *变为char[1]式
      应该如果处理?char *str=new char[100];
    strcpy(str,"JKSDF");
    ………………
    delete []str;
    那么这段代码,错在哪?
    为什么一运行,就内存溢出 WIN2000+VC6
    编译却可以通过你没有为str2申请空间
      

  9.   

    str2没有给它分配空间。在strcpy(str2,str1);这句前应该再加一句。
    str2 = new char[strlen(str1)];
      

  10.   

    CString A;
    CString B;
    CString C=A+B;char *str  没有分配空间
      

  11.   

    1.CString strTest="asdfa";
    char * p=strTest.GetBuffer(strTest.GetLength());
    2.chap *p="asdfsafsd";
      CString strTemp;
      strTemp.Format("%s",p);
    3.CString A;
    CString B;
    CString C=A+B;//就这么简单,CString重载了“+”运算符。