字符串处理疑问 满分,来的都有!!!!!!!!!!!!!!!!

eagleMX 2003-09-14 10:52:59
1.CString 如何转为 char *

2.char * 如何转为 CString

3.如果我声明 char *str;
但当我初始化 &str="";时 char *变为char[1]式
应该如果处理?
...全文
28 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dennis80 2003-09-15
  • 打赏
  • 举报
回复
应该解决了
AaronChan 2003-09-15
  • 打赏
  • 举报
回复
str没有分配内存!
guanjinke 2003-09-15
  • 打赏
  • 举报
回复
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重载了“+”运算符。
搬不搬砖 2003-09-15
  • 打赏
  • 举报
回复
CString A;
CString B;
CString C=A+B;

char *str 没有分配空间
ForFar 2003-09-15
  • 打赏
  • 举报
回复
str2没有给它分配空间。在strcpy(str2,str1);这句前应该再加一句。
str2 = new char[strlen(str1)];
bluebohe 2003-09-15
  • 打赏
  • 举报
回复
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申请空间

gzshd 2003-09-15
  • 打赏
  • 举报
回复
你在strcpy(str2,str1);这一句上加个断点不就知道了
eagleMX 2003-09-14
  • 打赏
  • 举报
回复
那么这段代码,错在哪?
为什么一运行,就内存溢出 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);
}
akiko 2003-09-14
  • 打赏
  • 举报
回复
char* pch="hehe";
CString str(pch);
char* p=(LPSTR)(LPCTSTR)(str);
CString A("aa");
CString B("bb");
CString C=A+B;
czlvc 2003-09-14
  • 打赏
  • 举报
回复
to:还有一个问题
如果
CString A;
CString B;
CString C;
如果要实现 C=A+B
应该如何实现
这个最重要//////////////////
CString A(“11”);
CString B(“22”);
CString C=A+B;
这样写就可以~~~
不知道 我有没有理解你的问题


导工 2003-09-14
  • 打赏
  • 举报
回复
C=A+B,可以这么写。
flyelf 2003-09-14
  • 打赏
  • 举报
回复
1、可以使用CString.GetBuffer(CString.GetLength())转化为char*,也可以直接强制转化
(char*)(LPCTSTR)(CString)
2、使用CString.Format("%s",str),或者在声明的时候直接构造
CString cStr(str);
3、好像不能&str="";这么赋值吧
eagleMX 2003-09-14
  • 打赏
  • 举报
回复
还有一个问题
如果
CString A;
CString B;
CString C;
如果要实现 C=A+B
应该如何实现
这个最重要
导工 2003-09-14
  • 打赏
  • 举报
回复
1.

CString str;
char *p;
p=(LPCTSTR)str;

2.

char *p="ljdflf";
CString str(p);

3.

问题我没有看清。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧