C++篇:第九章_字符串_知识点大全

  • C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器

九、字符串

  1. 可以用[ ]进行下标访问

  2. 使用string类需将头文件包含在程序中,不能写成string.h;对于头文件cstring提供C语言对字符串处理的有关函数,而头文件string提供C++对字符串处理的新功能

  3. 字符串对象不需要NULL字符结尾

  4. string对象允许用“+”或“+=”实现两个字符串连接操作;可以使用关系运算符比大小

  5. 不可以用关系运算符对字符数组中的字符串进行比较,但string对象可以

  6. ‘\0’是 c/c++ 语言中的字符串结束符

  7. 字符串可以整体输入、输出

  8. 字符串常量不可改,例:“word”

  9. sizeof(a)是指a的内存空间大小(包括最后的\0),strlen() 查找到“\0”就结束(故不包括最后的\0),但sizeof返回的是真个字符串包含'\0'在内占用的字节数

  10. 字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符 ' \0' 自动附加到字符串的尾部作为字符串的结束标志。故字符个数为 n 的字符串在内存中应占( n+1 )个字节

  11. 不同的零所代表的意思:

① ‘0’代表字符0,对应ASCII码值为0x30(也就是十进制48)

② '\0'代表空字符(转义字符)【输出为空】,对应ASCII码值为0x00(也就是十进制 0), 用作字符串结束符,但并不是字符串的一部分

③ 0 代表数字0,若把 数字0 赋值给 某个字符,对应ASCII码值为0x00(也就是十进制)

④ “0”代表一个字符串,字符串中含有 2个字符,分别是 '0' 和 '\0'

  1. strlen()、sizeof()是针对字符的,而length()(C的)、size()(C++的)是针对字符串的

  2. ‘\’不是字符,只有字符'\'

  3. 字符串的结束字符为‘\0’,故算字符串长度的题时要注意

  4. C++允许在字符串上进行整体操作

  5. 不管这个字符变量中有多少个字符,在Visual C++所有字符串变量的长度都是16字节

  6. 字符串函数:

① strcpy() :函数将源字符串复制到缓冲区。没有指定要复制字符的具体数目!如果源字符串碰巧来自用户输入,且没有专门限制其大小,则有可能会造成缓冲区溢出!

② strcat() :函数非常类似于 strcpy(),它可以将一个字符串合并到缓冲区末尾。

③ sprintf()、vsprintf() : 用来格式化文本和将其存入缓冲区的通用函数

  1. strcmp():比较两个string长度;strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数

④ strncat():char *strncat(char *dest, const char *src, size_t n) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾,直到 n 字符长度为止。与strcat函数类似,但可以检测第一个数组是否能够容纳第二个字符串

⑤ C++里没有对应的split()函数

posted @ 2022-04-10 20:52  Oten  阅读(196)  评论(0编辑  收藏  举报