CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

char a[10]; char * a; string a; AnsiString a; 区别是什么 怎么互相转换

楼主slwang2003(wsl)2005-08-02 17:48:56 在 C++ Builder / 基础类 提问

如题 问题点数: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

相关问题

  • unsigned char* 转换 String
  • String转换成char
  • C++BUILDER 中CHAR ,STRING ,ANSISTRING,WIDESTRING 4 种类型怎样转换?
  • char*如何转换成AnsiString
  • AnsiString、String、char* ???
  • Char[]怎样转换成string
  • string转换为char急!!!
  • string如何转换为char?
  • 请教:Ansistring与unsigned char转换
  • 如何将 char* 型转换为 AnsiString ?

关键词

  • c++
  • 字符
  • 指针
  • bcb
  • ws
  • ansistring
  • 字符串
  • 数组
  • wchar
  • 指向

得分解答快速导航

  • 帖主:slwang2003
  • LngDotin
  • rainfall19831109
  • Maconel
  • YoungMonkey

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo