• 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()函数

C++篇:第九章_字符串_知识点大全的更多相关文章

  1. 慕课网javascript 进阶篇 第九章 编程练习

    把平常撸的码来博客上再撸一遍既可以加深理解,又可以理清思维.还是很纯很纯的小白,各位看官老爷们,不要嫌弃.最近都是晚睡,昨晚也不例外,两点多睡的.故,八点起来的人不是很舒服,脑袋有点晕呼呼,鉴于昨晚看 ...

  2. day3字典_字符串_文件操作

    一.知识回顾 1.jmeter怎样增加压力机:在主控机配置文件 jmeter.perperties 文件中添加对应压力的IP和对应端口,多台压力机IP用","隔开,保证所有负载机和 ...

  3. 明解C语言 入门篇 第九章答案

    练习9-1 /* 将字符串存储在数组中并显示(其2:初始化) */ #include <stdio.h> int main(void) { char str[] = "ABC\0 ...

  4. C Primer Plus_第四章_字符串和格式化输入输出_编程练习

    Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[2 ...

  5. C Primer Plus_第6章_循环_编程练习

    1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...

  6. jquery中如何以逗号分割字符串_百度知道

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  7. C++第四篇--重载_指针_引用

    C++第四篇--重载_指针_引用 1. 基础知识 重载:函数名相同,根据参数不同(类型.数量.顺序不同)调用同名函数 指针和引用:引用就是别名,引用时必须初始化,引用你定义的变量. int a; in ...

  8. BZOJ_4002_[JLOI2015]有意义的字符串_矩阵乘法

    BZOJ_4002_[JLOI2015]有意义的字符串_矩阵乘法 Description B 君有两个好朋友,他们叫宁宁和冉冉.有一天,冉冉遇到了一个有趣的题目:输入 b;d;n,求 Input 一行 ...

  9. 1.Python_字符串_常用办法总结

    明确:对字符串的操作方法都不会改变原来字符串的值. 1.去掉空格和特殊符号 name.strip() 去掉空格和换行符 name.strip("xx") 去掉某个字符串 name. ...

  10. 《汇编语言 基于x86处理器》第九章字符串与数组部分的代码

    ▶ 书中第九章的程序,主要讲了字符串相关的输入.输出,以及冒泡排序.二分搜索 ● 代码,Irvine32 中的字符串库函数代码范例 INCLUDE Irvine32.inc .data str1 BY ...

随机推荐

  1. 探索Redis与MySQL的双写问题

    本文已收录至GitHub,推荐阅读 Java随想录 微信公众号:Java随想录 原创不易,注重版权.转载请注明原作者和原文链接 目录 双写一致问题 缓存读写策略 Cache-Aside Pattern ...

  2. mysql出现10061错误解决方法

    首先要关闭MYSQL服务 关闭你现在正在运行的mysql数据库,用结束mysql进程或者直接关闭mysql服务器都可以 1.开始菜单->运行(cmd)->寻径到MySQL文件中的bin目录 ...

  3. LooklessControl

    Lookless controls vs User Controls. Lookless controls usage patterns(LooklessControl与UserControl的比较. ...

  4. 小白也能看懂的 AUC 曲线详解

    小白也能看懂的 AUC 曲线详解 简介 上篇文章 小白也能看懂的 ROC 曲线详解 介绍了 ROC 曲线.本文介绍 AUC.AUC 的全名为Area Under the ROC Curve,即 ROC ...

  5. 数据结构-线性表-顺序表(c++)

    SeqList.h #ifndef SEQLIST_H_ #define SEQLIST_H_ #include<iostream> const int Max=100; template ...

  6. 不懂乐理,也能扒谱,基于openvpi将mp3转换为midi乐谱(Python3.10)

    所谓"扒谱"是指通过听歌或观看演奏视频等方式,逐步分析和还原音乐作品的曲谱或乐谱的过程.它是音乐学习和演奏的一种常见方法,通常由音乐爱好者.乐手或学生使用. 在扒谱的过程中,人们会 ...

  7. 多数元素 (3.12 leetcode每日打卡)

    给定一个大小为 n 的数组,找到其中的多数元素.多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在多数元素. 示例 1: 输入: [3,2,3] ...

  8. ArmSoM-W3应用开发之安装docker

    1. 简介 RK3588从入门到精通系列专题 开发板:ArmSoM-W3 Kernel:5.10.160 OS:Debian11 本⽂介绍ArmSoM-W3在Debian11下如何安装使用docker ...

  9. Educational Codeforces Round 56 (Rated for Div. 2) G题(线段树,曼哈顿距离)

    题目传送门 以二维为例,二维下两点间的曼哈顿距离最大值为\(max(|x_i-x_j| + |y_i-y_j|)\),可以通过枚举坐标符号正负来去掉绝对值.即\(max(x_i-x_j+y_i-y_j ...

  10. DevOps|研发提效-敏捷开发之每日站立会

    对于研发效能团队建设和组织,本文不再赘述,可以参考之前的文章,已经讲得很透彻了.本文重点讲我们日常是怎么开站立会,怎么让团队跑起来,高效能产出的.每日站立会,15分钟到30分钟,看似非常短的一个会,但 ...