C 中C风格字符串基本概念介绍
创始人
2024-06-22 19:41:15
0

C++编程语言作为一款C语言的升级版本,支持C语言中的各种功能,有经验的编程人员可以很轻松的上手这款语言。今天我们就为大家介绍C++中C风格字符串的具体应用,让大家体验一下其中的C语言特点。#t#

C++提供了两种字符串的表示C风格的字符串和标准。 C++引入的string 类类型一般我们建议使用string 类。但实际上在许多程序的情形中我们有必要理解和使用老式的C++中C风格字符串。在第7 章我们会看到一个例子。它处理命令行选项而这些选项被作为C 风格的字符串数组传递给main()函数

C 风格的字符串起源于C 语言并在C++中继续得到支持。实际上在标准C++之前除了第三方字符串库类之外它是惟一一种被支持的字符串。字符串被存储在一个字符数组中一般通过一个char*类型的指针来操纵它标准C 库为操纵C++中C风格字符串提供了一组函数例如:

  1. // 返回字符串的长度  
  2. int strlen( const char* );  
  3. // 比较两个字符串是否相等  
  4. int strcmp( const char*, const char* );  
  5. // 把第二个字符串拷贝到***个字符串中  
  6. char* strcpy(char*, const char* ); 

标准C 库作为标准的C++的一部分被包含在其中为使用这些函数我们必须包含相关的C 头文件

  1. #include  

指向C++中C风格字符串的字符指针总是指向一个相关联的字符数组,即使当我们写一个字符串常量时,如:

  1. const char *st = "The expense of spirit\n"; 

系统在内部也把字符串常量存储在一个字符串数组中,然后st 指向该数组的***个元素。那么我们怎样以字符串的形式来操纵st 呢?一般地我们用指针的算术运算来遍历C 风格的字符串,每次指针增加1 直到到达终止空字符为止例如:

  1. while ( *st++ ) { ... } 

char*类型的指针被解除引用并且测试指向的字符是true 还是false 。true 值是除了空字符外的任意字符(空字符在判断语句中被莫认为是假),++是增加运算符它使指针对指向数组中的下一个字符。一般来说当我们使用一个指针时在解除指针的引用之前测试它是否指向某个对象是必要的,否则程序很可能会失败例如:

  1. int  
  2. string_length( const char *st )  
  3. {  
  4. int cnt = 0;  
  5. if ( st )  
  6. while ( *st++ )  
  7. ++cnt; return cnt;  

以上就是对C++中C风格字符串的相关介绍。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...