有关TEdit的一个小问题,不过在下很急,望各位拔刀相助。
char *p = Edit1->Text.c_str();
Edit6->Text = p;
在我写的程序里执行以上两条语句,会随机出现Edit6->Text和Edit1->Text的内容不相等。也就是说为什么p所指向的字符串与Edit1->Text里的东东会不同?
怎么解决啊,在下很急,望各位不吝赐教。
问题点数:30、回复次数:5Top
1 楼weixing979(★★★闪电侠★★★)回复于 2004-05-02 17:44:48 得分 0
直接用
Edit6->Text=Edit1->Text;Top
2 楼matq2008(叶子.net)回复于 2004-05-02 17:45:48 得分 0
这样用:
用char *你得先申请内存
Top
3 楼weixing979(★★★闪电侠★★★)回复于 2004-05-02 17:51:29 得分 15
或
char* p = new char[Edit1->Text.Length()];
StrCopy(p,Edit1->Text.c_str());
Edit2->Text=StrPas(p);Top
4 楼sunliwen780502(孙立文)回复于 2004-05-02 17:54:54 得分 15
char string[100];
int len = strlen(Edit1->Text.c_str());
char *p = new char[len + 1];
p = Edit1->Text.c_str();
strcpy(string, p);
Edit2->Text = string;
试试上面的方法,在bcb6下编译通过.Top
5 楼4241217(alucard)回复于 2004-05-03 09:32:35 得分 0
谢谢楼上各位相助,我的问题已经被GeoPhoenix(天鸽)解决了。而楼上两位的方法也可行,既然问题已经解决,分留着也没用。发了!Top




