C++篇:第九章_字符串_知识点大全
C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器
九、字符串
可以用[ ]进行下标访问
使用string类需将头文件包含在程序中,不能写成string.h;对于头文件cstring提供C语言对字符串处理的有关函数,而头文件string提供C++对字符串处理的新功能
字符串对象不需要NULL字符结尾
string对象允许用“+”或“+=”实现两个字符串连接操作;可以使用关系运算符比大小
不可以用关系运算符对字符数组中的字符串进行比较,但string对象可以
‘\0’是 c/c++ 语言中的字符串结束符
字符串可以整体输入、输出
字符串常量不可改,例:“word”
sizeof(a)是指a的内存空间大小(包括最后的\0),strlen() 查找到“\0”就结束(故不包括最后的\0),但sizeof返回的是真个字符串包含'\0'在内占用的字节数
字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符 ' \0' 自动附加到字符串的尾部作为字符串的结束标志。故字符个数为 n 的字符串在内存中应占( n+1 )个字节
不同的零所代表的意思:
① ‘0’代表字符0,对应ASCII码值为0x30(也就是十进制48)
② '\0'代表空字符(转义字符)【输出为空】,对应ASCII码值为0x00(也就是十进制 0), 用作字符串结束符,但并不是字符串的一部分
③ 0 代表数字0,若把 数字0 赋值给 某个字符,对应ASCII码值为0x00(也就是十进制)
④ “0”代表一个字符串,字符串中含有 2个字符,分别是 '0' 和 '\0'
strlen()、sizeof()是针对字符的,而length()(C的)、size()(C++的)是针对字符串的
‘\’不是字符,只有字符'\'
字符串的结束字符为‘\0’,故算字符串长度的题时要注意
C++允许在字符串上进行整体操作
不管这个字符变量中有多少个字符,在Visual C++所有字符串变量的长度都是16字节
字符串函数:
① strcpy() :函数将源字符串复制到缓冲区。没有指定要复制字符的具体数目!如果源字符串碰巧来自用户输入,且没有专门限制其大小,则有可能会造成缓冲区溢出!
② strcat() :函数非常类似于 strcpy(),它可以将一个字符串合并到缓冲区末尾。
③ sprintf()、vsprintf() : 用来格式化文本和将其存入缓冲区的通用函数
- 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++篇:第九章_字符串_知识点大全的更多相关文章
- 慕课网javascript 进阶篇 第九章 编程练习
把平常撸的码来博客上再撸一遍既可以加深理解,又可以理清思维.还是很纯很纯的小白,各位看官老爷们,不要嫌弃.最近都是晚睡,昨晚也不例外,两点多睡的.故,八点起来的人不是很舒服,脑袋有点晕呼呼,鉴于昨晚看 ...
- day3字典_字符串_文件操作
一.知识回顾 1.jmeter怎样增加压力机:在主控机配置文件 jmeter.perperties 文件中添加对应压力的IP和对应端口,多台压力机IP用","隔开,保证所有负载机和 ...
- 明解C语言 入门篇 第九章答案
练习9-1 /* 将字符串存储在数组中并显示(其2:初始化) */ #include <stdio.h> int main(void) { char str[] = "ABC\0 ...
- C Primer Plus_第四章_字符串和格式化输入输出_编程练习
Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[2 ...
- 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 ...
- jquery中如何以逗号分割字符串_百度知道
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- C++第四篇--重载_指针_引用
C++第四篇--重载_指针_引用 1. 基础知识 重载:函数名相同,根据参数不同(类型.数量.顺序不同)调用同名函数 指针和引用:引用就是别名,引用时必须初始化,引用你定义的变量. int a; in ...
- BZOJ_4002_[JLOI2015]有意义的字符串_矩阵乘法
BZOJ_4002_[JLOI2015]有意义的字符串_矩阵乘法 Description B 君有两个好朋友,他们叫宁宁和冉冉.有一天,冉冉遇到了一个有趣的题目:输入 b;d;n,求 Input 一行 ...
- 1.Python_字符串_常用办法总结
明确:对字符串的操作方法都不会改变原来字符串的值. 1.去掉空格和特殊符号 name.strip() 去掉空格和换行符 name.strip("xx") 去掉某个字符串 name. ...
- 《汇编语言 基于x86处理器》第九章字符串与数组部分的代码
▶ 书中第九章的程序,主要讲了字符串相关的输入.输出,以及冒泡排序.二分搜索 ● 代码,Irvine32 中的字符串库函数代码范例 INCLUDE Irvine32.inc .data str1 BY ...
随机推荐
- DFS(深度优先搜索)洛谷P1162
看大佬们dfs一遍就出结果,蒟蒻的我dfs了三遍,当然这题也可以用bfs做,但是dfs不用队列代码短一些. #include <iostream> #include <vector& ...
- 什么是Kubernetes
什么是Kubernetes Kubernetes 概述 1.K8S 是什么? K8S 的全称为 Kubernetes (K12345678S),PS:"嘛,写全称也太累了吧,不如整个缩写&q ...
- 【闭包应用】JS:防抖、节流
1.防抖:当进行连续操作时,只执行最后一次的操作. //防抖的概念是 当进行连续操作时,只执行最后一次的操作. function debounce(fn, delayTime) { let timeo ...
- JavaScript高级程序设计笔记12 BOM
BOM BOM的核心--window对象 窗口和弹窗 location对象--页面信息 navigator对象--浏览器信息 history对象--浏览器历史记录 BOM是使用JavaScript开发 ...
- 03Java学习_注释和代码规范
注释和代码规范 目录 注释和代码规范 注释 注释介绍 单行注释 多行注释 文档注释 代码规范 注释 注释介绍 用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性(可读性):注释 是一个程序员必 ...
- termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
第一步,先安装termux和anlinux,在此之前先安装一个vpn 下面是termux的官网(官网是没有内嵌任何广告的): termux/termux-app: Termux - a termina ...
- Redis 学习笔记1:数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zset(sorted set:有序集合). 一.Redis 数据类型-STRING 1.常用 ...
- Tensorflow2.0实现VGG13
导入必要的库: import os import tensorflow as tf from tensorflow import keras from tensorflow.keras import ...
- 解决opencv测试时OpenCV Error: Unspecified error (The function is not implemented.的问题
在安装好opencv时,出现如下的报错信息: OpenCV Error: Unspecified error (The function is not implemented. Rebuild the ...
- yarn的常用命令
yarn 安装 npm install -g yarn 查看版本 yarn -v 开始一个新工程 yarn init 与 npm init 一样通过交互式会话创建一个 package.json yar ...