| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 【笔记】【第4天】C++学习之路 -> 正文阅读 |
|
[C++知识库]【笔记】【第4天】C++学习之路 |
Witheart... Follow your heart...目录 Witheart... Follow your heart... 前言????????本系列文章作为笔者学习C++的一个记录,希望可以坚持下去。目前使用C++Primer Plus这本书。 ????????本系列文章适合有C语言基础的读者阅读。 学习内容数字输入处理利用 cin
? ? ? 如果用户错误地输入了单词,而不是数字,将发生以下四件事情:
所以可以使用非数字输入来结束读取数字的循环。并在循环结束后使用 cin.clear() 来重置错误输入标记。此种代码直接将 cin >> n 置于循环测试条件处即可,当错误输入非数字时,该表达式将返回 false,结束输入循环。 ? ? ? ? 也可以使用这种方法来检测用户的输入类型是否正确,如下:
文件输入输出cin 智能判断输入类型????????使用 cin 进行输入时,程序会将输入的内容视为一系列的字节,每个字节都被解释为字符编码。也就是说,输入的内容一开始都是字符数据,然后 cin 再将字符数据转换为其他类型。 ????????输入下面的文本时
会有:
????????在上面的代码中,第一个字符是 3,此时输入的是字符,要被赋值的目标变量 ch 也是字符,因此将不会进行任何转换,字符 ’3‘ 的编码将被存储在变量 ch 中,下一个输入操作将处理字符 ’8‘。
?????????在上面的代码中,cin 将不断读取,直到遇到非数字吧字符。也就是说,它将读取 38,并将二进制的 38 赋值给 n,而不是字符编码。
? ? ? ? 在上面的代码中,cin 将不断读取,直到遇到第一个不属于浮点数的字符。也就是说,它读取 38.5,然后将浮点格式的数值 38.5 赋给 x。此时空格是输入队列中的下一个字符。
? ? ? ? 在上面的代码中,cin 不断读取,直到遇到空白字符。也就是说,它读取 ’3‘、’8‘、’.‘、’5‘ 四个字符,此时空格是输入队列里的下一个字符,然后这四个字符的字符编码将被存储到数组 word 中,并在末尾加上空字符。 ? ? ? ? 注意,空字符的 ASCII 码是 0,而空格的 ASCII 码为 32。
????????在上面的代码中,cin 不断读取,直到遇到换行符(输入数小于 50)。所有换行符前的内容都被视为字符存储在数组中,包括空格,并且会在结尾加上一个空字符。然后输入队列中的换行符会被丢弃。 写入文本文件? ? ? ? 需要包含头文件 fstream,该头文件中包含了一个用于输出的 ofstream 类; ????????输出内容到文本文件中时,必须声明自己的 ofstream 变量(对象),然后将其和文件关联起来,一种方法是使用open() 方法,文件使用完成后,也需要使用 close() 将其关闭。
? ? ? ? 当要关联的文本文件不存在时,将被自动创建。当文本文件存在时,对文本文件的操作会覆盖它原有的内容。 读取文本文件? ? ? ? 同样的,要先声明属于自己的 ifstream 对象,并且和文件关联起来,操作和写入的时候类似,不再赘述。 ? ? ? ? 注意,当要打开的文件不存在时,将导致使用 ifstream 对象进行输入时失败。可以利用方法 is_open() 检查是否成功打开文件。如下:
? ? ? ? 成功打开时,返回的是 true,exit() 将终止程序,并且使用同操作系统通信的参数值 EXIT_FAILURE,这需要包含头文件 cstdlib。 ? ? ? ? 注意,Windows 的文本文件每行都以回车符和换行符结尾(这是两个不同的字符),一般来说,C++ 读取文件是将这两个字符转换为换行符,并在写入文件时做相反的转换。 文件读取循环的设计:
????????同样的,循环读取和测试部分的代码可以简化。表达式?fin >> value 的结果为 fin,在需要 bool 值时,fin 的结果为 fin.good(),是 bool 值。所以可以替换为如下的代码:
困了,睡大觉~共勉 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 11:08:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |