怎么解决 'AnsiString' 赋值给 'char *'???

sunnyice 2003-02-24 05:52:07
如提
...全文
36 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
myy 2003-02-24
  • 打赏
  • 举报
回复
我不赞同,

AnsiString ff="ff";
char* str=ff.c_str();

这样的写法。

不要保存AnsiString.c_str()的值,因为AnsiString内自有一套内存管理机制,
你不知道它什么时候就变了!你可以实验一下:

ff="aseirnvekrnvnevknfsdvnsdfnvednfvsdnfnvdfsvsdfvedasasassd
dddddddddddddddddddddddddddddddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddddddddddddddddd";

str 还和 ff.c_str()相等吗?最好用c_str(),直接代替str使用。
叶子哟 2003-02-24
  • 打赏
  • 举报
回复
char* szBuffer = new char
[Label1->Caption.Length() + Edit1->Text.Length() + 1];
StrPCopy(szBuffer, Label1->Caption);
StrCat(szBuffer, Edit1->Text.c_str());
Label1->Caption = szBuffer;
Edit1->Clear();
delete [] szBuffer;
sunnyice 2003-02-24
  • 打赏
  • 举报
回复
哈哈。给分。
wenyongjie 2003-02-24
  • 打赏
  • 举报
回复
来晚了,同上.
RomanticProgrammer 2003-02-24
  • 打赏
  • 举报
回复
AnsiString ff="ff";
char* str=ff.c_str();

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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