6.1 C-strings(C 风格字符串)

C风格字符串: 字符数组是元素为字符型的数组,字符串是以空字符'\0' 作为数组最后一个元素的字符数组。

如果指定了数组的大小,而字符串的长度又小于数组大小,那么这个数组其余的元素都将被初始化为'\0'。

为了在一个字符串中包含一个双引号,必须在这个双引号的前面加上一个反斜杠(\)

6.2 C-string input and output(C 风格字符串的输入和输出)

!!!字符数组的大小必须比字符串中的字符数多1

getline( )

为了允许输入空白字符(空格、回车、Tab),可以使用函数getline( )。

换行符'\n'称为定界符,表示从输入流cin读取字符到数组的结束。

'\n' 被称为定界符,若定界符被省略,则将其假定为'\n'。 自动在其末尾添加'\0'。

6.3 Accessing individual characters of a C-string(访问C风格字符串中的单个字符)

可以通过下标来访问C 风格字符串的每个字符。

6.4 C-string functions(C 风格字符串函数)

C++继承了C风格字符串函数库,使用要写明头文件

#include<cstring>                                                                                                                                                   

(1)找到c字符串的长度 strlen(str):返回一个C 风格字符串str中字符的个数,不包含'\0'

(2)复制C风格字符串strcpy( destination, source ) :source 字符串中的内容被复制到destination 字符串中。

Remark:

source字符串必须以'\0' 结束;( getline()默认定界符为‘\n’ )

destination 字符串有足够的空间来存储要复制的字符串内容。

(3)字符串拼接strcat( str1, str2 ): 把字符串str2 拼接到字符串str1 的后面。

Remark:

str1要有足够的空间来存储拼接后的字符串。

(4)比较C 风格字符串strcmp( str1, str2 ) :比较两个以'\0' 为结束的字符串str1和str2的大小。

    函数返回值:负数 str1 < str2;零str1 = str2;正数istr1 > str2.

(5)其他:

①strncat( str1, str2, n )

将C风格字符串str2的前n个字符添加到C风格字符串str1的末尾。

②strncmp( str1, str2, n )

与函数 strcmp(str1, str2)类似,区别仅在于,strncmp( str1, str2, n )最多比较n个字符。

③strncpy( str1, str2, n )

将字符串str2的前n个字符复制到字符串str1中。

要注意:这些都是继承的C语言的函数,str1的定义形式应该是char str[size];而不能是string str;

Converting numeric C-strings to numbers(数值C风格字符串向数值的转换)

数字C风格字符串的存储: ASCII 表示 “123” 整数值的存储: 二进制 123

atoi() : C风格字符串到整数(遇到小数点时就会停止转换)

atol() : C风格字符串到长整数

atof() : C风格字符串到双精度浮点(接受小数点,因为它可以作为小数的一部分。)

Remark:

忽略字符间的空格 在遇到第一个不能作为一个数值部分的字符时,停止转换。

函数参考(小结)

第6章 字符串(上)——C风格字符串的更多相关文章

  1. C风格字符串与C++风格字符串

    C风格字符串与C++风格字符串 C风格字符串:对字符串进行操作的 C 函数定义在头文件<cstring>中: 1. 字符串定义:char* result: 2. 字符串的最后一个字符是nu ...

  2. string字符串转C风格字符串 进而转换为数字

    要求如题 头文件stdlib.h中有一个函数atof() 可以将字符串转化为双精度浮点数(double) double atof(const char *nptr); 此字符串为C风格字符串,因此需要 ...

  3. C++ 标准头文件与C头文件区别与联系以及C风格字符串

    1.cstdlib是C++里面的一个常用头文件, 等价于C中的<stdlib.h>. 2.一般一个带“.h” 扩展名的库文件,比如iostream.h.这是延续C语言的,为了兼容C.在新标 ...

  4. String与C风格字符串转换

    String字符串转换为C风格字符串需要利用string类的成员函数c_str().而C风格字符串转换转换为string字符串可以直接利用运算符=.首先介绍c_str()函数原型: const val ...

  5. c风格字符串,字符串字面值,c++字符串

    C风格字符串:本质上就是以空字符null为结束符的数组 可以简单的理解为:有'\0'的是c风格字符串,无'\0'的是普通字符数组 字符串字面值:是一串常量字符,字符串字面值常量用双引号括起来的零个或多 ...

  6. C风格字符串和C++ string 对象赋值操作的性能比较

    <<C++ Primer>> 第四版 Exercise Section 4.3.1 部分Exercise 4.2.9 习题如下: 在自己本机执行如下程序,记录程序执行时间: # ...

  7. c风格字符串

    1.字符数组截取 有当然有了,应均包含在<string.h>中. 有strncpy,strncat.可以帮你从任何位置,取得任意合法长度的字符串. 用法基本同strcpy,strcat. ...

  8. 获取UILabel上最后一个字符串的位置。获取文字长度和高度,自动换行

    //行的高度. -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPat ...

  9. c风格字符串函数

    十一.C 风格字符串  1)字符串操作  strcpy(p, p1) 复制字符串  strncpy(p, p1, n) 复制指定长度字符串  strcat(p, p1) 附加字符串  strncat( ...

随机推荐

  1. Vue3 + Echarts 5 绘制带有立体感流线中国地图,建议收藏

    本文绘制的地图效果图如下: 一.Echarts 使用五部曲 1.下载并引入 echarts Echarts 已更新到了 5.0 版本,安装完记得检查下自己的版本是否是 5.0 . npm instal ...

  2. CPU乱序执行问题

    CPU为了提高执行效率,会在一条指令执行的过程中(比如去内存读数据,读数据的过程相较于CPU的执行速度慢100倍以上,cpu处于等待状态),这个时候cpu会分析接下来的指令是否正在执行的指令相关联,如 ...

  3. 『现学现忘』Git基础 — 2、Git和SVN的区别

    1.Git和SVN的区别 (1)SVN(集中式版本管理系统) 集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者 ...

  4. Machine Learning 学习笔记 03 最小二乘法、极大似然法、交叉熵

    损失函数. 最小二乘法. 极大似然估计. 复习一下对数. 交叉熵. 信息量. 系统熵的定义. KL散度

  5. 3.5 常用Linux命令

    1.touch命令 touch命令用于创建空白文件或设置文件的时间,语法格式为"touch [参数] 文件名称". 2.mkdir命令 mkdir命令用于创建空白的目录,英文全称为 ...

  6. 程序员延寿指南「GitHub 热点速览 v.22.17」

    很多人对程序员的固有印象之一便是常加班.易"猝死"!近几年的许多报道似乎也进一步加深了这种印象.应该如何更好地健康地活着.敲喜欢的代码呢?HowToLiveLonger 教你如何从 ...

  7. sentinel基础概念及使用

    点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. 什么是sentinel sentinel是Spring Cloud Al ...

  8. 攻防世界-MISC:坚持60s

    这是攻防世界新手练习区的第六题,题目如下: 点击附件1下载,是一个java文件,点击运行一下: 绿帽子满天飞不知道是怎么回事(还是老老实实去看WP吧),WP说这是编译过的Java代码,但我手里没有反编 ...

  9. 实战 | 一文带你读懂Nginx反向代理

    一个执着于技术的公众号 前言 在前面的章节中,我们已经学习了nginx基础知识: 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文 ...

  10. 简述 private、protected、 public、 internal修饰符的访问权限

    1.private: 私有的,只能在此类中访问 2.protected: 受保护的,只能在此类及其继承类中访问 3.public: 公开的,没有访问限制 4:internal: 内部的,只能在当前程序 ...