char a[10]; char * a; string a; AnsiString a; 区别是什么 怎么互相转换
如题 问题点数:20、回复次数:10Top
1 楼LngDotin(水拍云)回复于 2005-08-02 20:12:19 得分 5
回答前两个吧,不知答的对不对。
char a[10]:是一个含有10个元素的字符型数组;
char * a:是一个字符型的指型,可以是一个字符型数组的首地址。
Top
2 楼F117p(走两步,你走两步?)回复于 2005-08-02 20:35:42 得分 0
char a1[10]静态声请10个字符的空间。
char *a2; 声请一个字符串指针,但是地址不确定。
string a3和AnsiString a4没什么区别。是字符串类。Top
3 楼rainfall19831109(恩恩)回复于 2005-08-03 03:26:51 得分 5
char a1[10] --- 一个字符数组,大小为10个字节
char *a2 --- a2被声明为一个指向char类型的指针,大小根据所指向的内容决定
string和AnsiString就我使用经验来说没区别
AnsiString下面的c_str()方法返回的就是该字符串的指针,;也就是可以把返回的直接赋给a2
而a1或者a2,可以直接赋给string或者AnsiStringTop
4 楼Maconel(Maconel)回复于 2005-08-03 08:54:09 得分 5
char a1[10]; 是一个字符数组,有10个字节的空间。对于a1来说,你可以把它当成一个char*指针来用。但是这个指针是const的,不能将它指向其他地方。经常用这样的数组来保存一个字符串。
char *a2; 是一个char*指针。你可以将它指向其他的char型变量,也可以指向一个char数组,比如a2 = a1;但是注意a2自己没有内存空间。如果需要修改a2所指向的变量的内容时,就要留意。
string a; string是一个类,是属于c++标准的。也就是说,它是c++带的类,所以不管到vc,还是bcb,还是linux下什么编译器,只要符合c++标准,就可以使用这个类。它有自己的空间存储字符串。
AnsiString a; 也是一个类,是vcl,或者说bcb,提供的一个类。由于bcb里的其他类和一些其他函数大量使用了这种类型,所以在bcb下编程,我们经常使用这种字符串。它有自己的空间存储字符串。
string和AnsiString有很多属性方法,都不难,多用一用,就会了。Top
5 楼YoungMonkey(¤笑熬糨糊¤)回复于 2005-08-03 09:49:46 得分 5
AnsiString -> char AnsiString.c_str();
char -> AnsiString AnsiString = AnsiString(char);
BSTR -> char* char* char1=AnsiString(bstr).c_str();
wchar_t -> AnsiString AnsiString(wchar_t)
AnsiString -> wchart AnsiString.WideChar();
char -> WideString char *s="adsfdsf";
wchar *p=Widetring(s).BSTR();
WideString -> char wchar_t *p=L"sdsfdfsf";
char *s=AnsiString(p).c_str();
char * c -> wchar_t * cc AnsiString con = c;
cc = con.WideChar( cc , con.WideCharBufSize );
wchar_t * c -> char * cc AnsiString con = c;
cc = con.c_str();
WideString -> wchar_t WideString a = L"abc";
wchar_t *b = new wchar_t[4];
wcscpy(b, a); AnsiString=AnsiString(b);
WideString ws;
// ws = ***;
AnsiString s = ws;
好像是以前老妖写的^_^Top
6 楼zhyuanbaron(菜--咋整阿!)回复于 2005-08-13 20:11:10 得分 0
呵呵 终于知道了 string 和 AnsiString 的区别了 ,高手就是高手Top
7 楼zhyuanbaron(菜--咋整阿!)回复于 2005-08-13 20:12:13 得分 0
其他的上面说的比书上详细 看贴就成了。
我帮忙顶。。。Top
8 楼hcann(十年磨一贱~~~)回复于 2005-08-15 14:11:45 得分 0
建议看书...Top
9 楼ccrun(老妖)(www.ccrun.com)回复于 2005-08-17 09:12:01 得分 0
在BCB中,AnsiString等同于String。
注意string和String的不同,虽然只是大小写字母的不同,前者是C++标准的字符串类,后者是VCL的字符串类。Top
10 楼extcsdn(Studing VB now)回复于 2005-08-17 15:19:24 得分 0
学习一下Top




