C++Builder如何将Char* 和String 类型互相转换?
如何将Char* 和String 类型互相转换?
将Char* 转换为String;
将String转换为Char *;?
能否做到,具体如何操作?谢谢!
问题点数:80、回复次数:14Top
1 楼annkie(无声的雨)回复于 2003-08-01 18:07:10 得分 5
char* => String: String(p)
String => char*: s.c_str();Top
2 楼Icat(晨)回复于 2003-08-01 18:11:34 得分 4
1,AnsiStrong的构造函数
__fastcall AnsiString(const char* src);
2,我只知道如何转为const char*
然后再赋值
--这样只是值一样而已
Top
3 楼Icat(晨)回复于 2003-08-01 18:14:06 得分 4
to,annkie(无声的雨)
s.c_str();
这是const char*
不能修改的,
可能满足不了他的要求,
有其他办法么?Top
4 楼annkie(无声的雨)回复于 2003-08-01 18:17:13 得分 3
应该可以满足楼主的要求,你可以使用const_cast转换一下。Top
5 楼yangguo_god(狂学java....)回复于 2003-08-01 18:28:09 得分 2
String str;
char *ch;
str="str";
ch = str.c_str();//string->char
str = ch; //char->stringTop
6 楼mme(dog)回复于 2003-08-03 18:56:16 得分 5
不,我劝你不要直接对String里面的c_str()指针操作
像
String str;
char *ch;
str="str";
ch = str.c_str();//string->char
str = ch; //char->string
这样的话,你现在对ch进行操作,很有可能会出现莫名其妙的问题.
比如,字符发生错误等等.
所以建议你把String的数据copy出来操作.
其实String就是AnsiStringTop
7 楼GeoPhoenix(天鸽)回复于 2003-08-03 19:46:15 得分 3
俺从来就没用过 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
Top
8 楼pepsi1980(这只老鼠不会游泳)回复于 2003-08-03 20:13:41 得分 2
哈哈,楼主是不是从VC转到BC来哦
前天我搞VC,发现Char* 和String 类型互相转换需要这样:
CString ..;
...Format("/d",..)
麻烦的很~~~Top
9 楼hong668(心情不错)回复于 2003-08-03 20:20:40 得分 1
string=string(char*)
char *=string.c_str()Top
10 楼TR@SOE()回复于 2003-08-03 20:45:30 得分 30
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()的方法,很不可靠。Top
11 楼nuaacims(沉底鱼)回复于 2003-08-03 22:27:51 得分 0
“cp=str.c_str()的方法,很不可靠”
这个我真的不了解 而且一直这么用
可以大概讲一下 为什么嘛?Top
12 楼weixing979(★★★闪电侠★★★)回复于 2003-08-03 23:04:04 得分 3
我一直用
StrPas
和 .c_str()Top
13 楼Santos(快乐的GG)回复于 2003-08-03 23:12:42 得分 3
String youString;
char* youCharP;
youString = "Hello, this is a demo string.";
youCharP = youString.c_str();
youString = AnsiString(youCharP);
Top
14 楼wuxsun(shine)回复于 2003-08-16 12:46:06 得分 15
String to Char *
String Strs;
char * aa=new char[Strs.Length()+1];
StrPCopy(aa,Strs);
Top
相关问题
- C++BUILDER 中CHAR ,STRING ,ANSISTRING,WIDESTRING 4 种类型怎样转换?
- c#中string[] 转化成char*
- c++ builder的string操作
- s:string; c:char; 如果s:='abcd',怎样令c等于s的第3个字符,即'c'
- C++Builder 6 有没有string类啊?
- C++Builder
- C++? VC++? C++ Builder?
- string => char ...........
- char[] to string
- C#怎么样把一个String类型转换成Char类型????????????????????




