C++Builder如何将Char* 和String 类型互相转换?

wuxking 2003-08-01 05:55:41
如何将Char* 和String 类型互相转换?
将Char* 转换为String;
将String转换为Char *;?
能否做到,具体如何操作?谢谢!
...全文
2538 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuxsun 2003-08-16
  • 打赏
  • 举报
回复
String to Char *

String Strs;
char * aa=new char[Strs.Length()+1];
StrPCopy(aa,Strs);

Santos 2003-08-03
  • 打赏
  • 举报
回复
String youString;
char* youCharP;

youString = "Hello, this is a demo string.";
youCharP = youString.c_str();
youString = AnsiString(youCharP);

weixing979 2003-08-03
  • 打赏
  • 举报
回复
我一直用
StrPas
和 .c_str()
nuaacims 2003-08-03
  • 打赏
  • 举报
回复
“cp=str.c_str()的方法,很不可靠”
这个我真的不了解 而且一直这么用
可以大概讲一下 为什么嘛?
TR@SOE 2003-08-03
  • 打赏
  • 举报
回复
1、char * -> String
char *cp="123456";
String str=StrPas(cp);

2、String -> char *
最稳妥,最标准的做法:
String str="123456";
int len=str.Length();

char *cp=new char[len+1];
StrPCopy(cp, str);

千万不要用
cp=str.c_str()的方法,很不可靠。
hong668 2003-08-03
  • 打赏
  • 举报
回复
string=string(char*)
char *=string.c_str()
pepsi1980 2003-08-03
  • 打赏
  • 举报
回复
哈哈,楼主是不是从VC转到BC来哦
前天我搞VC,发现Char* 和String 类型互相转换需要这样:
CString ..;
...Format("/d",..)
麻烦的很~~~
GeoPhoenix 2003-08-03
  • 打赏
  • 举报
回复
俺从来就没用过 String这种类型,如果像楼上所说的String类型就是AnsiString类型的话,那就好办了,举例如下:
AnsiString str;
char s[100];

str = AnsiString("sdfgdsfgdf");
//AnsiString 到 char
strcpy(s,str.c_str());
//char 到 AnsiString
strcpy(s,"dsfgddsfgdf");
str = AnsiString(s);

//OK


mme 2003-08-03
  • 打赏
  • 举报
回复
不,我劝你不要直接对String里面的c_str()指针操作


String str;
char *ch;
str="str";
ch = str.c_str();//string->char
str = ch; //char->string

这样的话,你现在对ch进行操作,很有可能会出现莫名其妙的问题.

比如,字符发生错误等等.

所以建议你把String的数据copy出来操作.

其实String就是AnsiString
yangguo_god 2003-08-01
  • 打赏
  • 举报
回复
String str;
char *ch;
str="str";
ch = str.c_str();//string->char
str = ch; //char->string
annkie 2003-08-01
  • 打赏
  • 举报
回复
应该可以满足楼主的要求,你可以使用const_cast转换一下。
Icat 2003-08-01
  • 打赏
  • 举报
回复
to,annkie(无声的雨)
s.c_str();
这是const char*
不能修改的,
可能满足不了他的要求,
有其他办法么?
Icat 2003-08-01
  • 打赏
  • 举报
回复
1,AnsiStrong的构造函数
__fastcall AnsiString(const char* src);
2,我只知道如何转为const char*
然后再赋值
--这样只是值一样而已
annkie 2003-08-01
  • 打赏
  • 举报
回复
char* => String: String(p)
String => char*: s.c_str();

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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