C++中C风格字符串基本概念介绍

开发 后端
C++中C风格字符串为我们提供了一组非常实用的函数。我们今天将会对这方面的内容进行详细的介绍,希望能够给大家带来些帮助。

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 <cstring> 

指向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风格字符串的相关介绍。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-02-04 17:39:48

C++字符串类型

2010-02-05 09:57:25

C++中英文字符串

2010-02-02 10:33:22

C++引用

2010-02-03 13:22:07

C++时间

2010-02-05 12:57:20

C++ kdevelo

2010-02-03 11:11:18

C++类型转换

2010-02-02 13:41:01

C++类继承

2010-02-02 15:30:05

C++ include

2010-02-03 14:36:47

C++仿函数

2010-02-01 17:24:41

C++循环语句

2010-02-04 13:56:24

C++类模板特化

2010-02-04 10:08:00

C++静态成员函数

2010-02-05 17:34:37

C++函数模板

2010-02-06 14:04:58

C++内存使用机制

2010-02-01 14:07:12

C++多态性

2021-09-07 09:23:07

C++字符串算法

2010-02-06 15:58:10

C++集合初始化

2010-01-15 10:41:06

CC++

2023-12-11 15:18:03

C++字符串Unicode

2009-08-07 14:34:33

C#模式字符串
点赞
收藏

51CTO技术栈公众号