C++ 字符串处理全解析
1. 字符串基础
在 C++ 里,字符串指的是内存中一连串连续的字符,并且以空字符 '\0'
作为结尾。字符串可通过 char*
类型的变量来访问。例如,若 s
为 char*
类型,那么 cout << s << endl;
会输出从地址 s
开始,直至首次碰到空字符 '\0'
为止的所有字符。
C 语言的头文件 <cstring.h>
提供了大量用于操作字符串的特殊函数。例如,调用 strlen(s)
会返回字符串 s
里字符的数量,但不包含结尾的空字符。这些函数都把字符串参数声明为指向字符的指针。所以在学习这些字符串操作之前,我们需要先回顾一下指针的相关知识。
1.1 指针回顾
指针本质上就是内存地址。例如,下面的声明将 x
定义为一个包含值 44.44
的浮点数,而 p
则是一个包含 x
地址的指针:
float x = 44.44;
float* p = &x;
若把内存想象成一个带有十六进制地址的字节序列,那么 x
和 <