`

【C++ primer】第十七章 输入、输出和文件

 
阅读更多

一,C++输入和输出的概述

1)流和缓冲区

流是程序和源流或流目标之间的桥梁

磁盘驱动器以512字节(或更多)的块为单位传输信息,程序通常每次只能处理一个字节信息。所以缓冲区用来匹配这两种不同的信息传输速率。

输出时,先填满缓冲区,然后把整块数据传输给硬盘,并清空缓冲区,以备下一批输出使用。

2)isotream类管理细节

cin 对象对应于标准输入流,关联到标准输入设备。wcin 对应 wchar_t

cout 标准输出流,wcout 对应 wchar_t

cerr 标准错误流,没有缓冲直接发送给屏幕,而不会等到缓冲区填满或新的换行符,wcerr对应 wchar_t

clog 标准错误流,有缓冲区,wclog对应 wchar_t

二,使用cout进行输出

1)重载<< 操作符 : ostream & operator<<(int);

C++指向字符串存储位置的指针来表示字符串

#include <iostream>
using namespace std;

int  main()
{
	char *pn="tianshuai";
	char name[10]="tianshuai";
	cout<<pn<<endl;
	cout<<name<<endl;
	cout<<"nihao"<<endl;
	return 0;
}

输出地址:cout<<&pn<<endl; cout<<(void *)pn<<endl; //不知道为什么输出不一样呢?

2)拼接输出: cout<<"tianshuai"<<V5<<endl; //cout<<"tianshuai" 返回cout对象

3)其他ostream方法:

cout.put('W'); //每次输出一个字符类型 字符

cout.put(65); //输出 a

char *pn = "tianshuai";

cout.write(pn,4); //输出 tian

4)刷新输出缓冲区

换行符 "\n" endl flush 刷新输出缓冲区。

5)用cout进行格式化

修改显示时使用的技术系统:

cout<<dec; //显示整数 采用 十进制 dec(cout);

cout<<hex; //显示整数 采用 十六进制

cout<<oct; //显示整数 采用 八进制

调整字段宽度:

cout.width(12); //只影响接下来显示的第一个项目,然后恢复默认。且放到12字符最右端(右对齐)

cout<<”#"; //输出为:" #";

注意:C++永远不会截断数据,假如在宽度为2的字段中打印一个7位值,C++将扩充字段

填充字符:

cout.fill("*"); //填充空白字符为 * 。影响整个程序输出

设置精度:

注意:C++默认精度为6位(末尾的0将不显示)

cout.precision(2); //精度设置为2 例如:2.153 输出为2.1

打印末尾的0和小数点:

cout.setf(ios_base::showpoint); //显示末尾0和小数点 ,不要忘记精度默认为6 例如:2.00 显示为2.00000

setf详解

注意:只有当基数为10时才使用加号。C++将十六进制和八进制都视为无符号的

cout.setf(ios_base::internal,ios_base::adjustfield); //符号或基数左对齐,值右对齐

cout.setf(ios_base::right,ios_base::adjustfield); //右对齐

iomanip头文件

cou<<setw(5)<<setfill('*')<<setprecision(3)<<endl; //设置宽度为5,填充为 * , 精度为4(小数点后4位)

分享到:
评论

相关推荐

    c++primer第五版习题答案(第17章)

    第17章通常会关注C++中的特殊工具和技术,比如了运行时类型识别(RTTI)、智能指针、标准库中的其他组件以及C++11的特性等。在这一章节中,读者可以通过习题来加深理解并掌握这些高级特性。习题通常会提供一个实际...

    C++Primer 第四版课后习题解答(第1~18章完整答案)完整版

    第三章“标准库类型”讲解了C++标准库中的基本类型,如iostream用于输入输出,string用于处理字符串,vector和array作为动态数组。习题解答会涉及这些类型的使用方法,例如流操作、字符串操作、容器的增删改查等。 ...

    c++primer plus第七章到第十三章习题源码

    10. **文件I/O(File I/O)**:虽然题目没有明确指出,但在学习C++的过程中,文件输入输出是常见的实践。在源码中可能包含了使用`fstream`库进行文件操作的代码。 通过这些习题源码,你可以深入理解C++的面向对象...

    C++Primer 习题解答(第4版)--绝对完整版

    4. **标准库的使用**:书中会介绍如何使用C++标准库,包括容器(如vector、list、set、map)、迭代器、算法(如排序、查找)、文件输入输出(fstream)等。通过这些习题,读者可以了解如何有效利用标准库提高编程...

    C++ Primer 第五版 包括第五版中文高清版附带目录书签、第五版英文文字版带目录书签、第五版的代码以及课后答案,直接下载,非百度云

    - 输入/输出流:iostream库,文件输入输出。 总的来说,这个压缩包为C++学习者提供了一个全方位的学习资源,无论是自学还是教学,都能从中获益。通过系统学习并实践其中的内容,读者将能够熟练掌握C++语言,并具备...

    C++Primer 第五版 答案.zip

    7. **输入/输出流**:iostream库提供了处理输入输出的标准方法,如cin和cout,便于进行用户交互和文件操作。 8. **多线程**:C++11引入了多线程支持,允许并发执行任务,提高程序性能。 9. **智能指针**:shared_...

    C++ Primer中文版(第5版)李普曼 等著 pdf 1/3

     第17章 标准库特殊设施 635  17.1 tuple类型 636  17.1.1 定义和初始化tuple 637  17.1.2 使用tuple返回多个值 638  17.2 BITSET类型 640  17.2.1 定义和初始化bitset 641  17.2.2 bitset操作 643  17.3 ...

    C++ Primer第五版中文版习题集上

    习题将教你如何使用`std::ifstream`、`std::ofstream`以及`std::iostream`进行标准输入输出和文件操作。 8. **模板**:模板是C++的泛型编程工具,可以创建类型无关的函数和类。通过练习,你可以学会如何定义和使用...

    c++primerplus最全课后习题答案

    ### 第17章:C++和C的兼容性 #### PE17-1至PE17-7 这部分习题讲解了C++与C语言之间的兼容性问题,以及如何在C++程序中使用C语言的库和函数。读者可以学习到如何在两种语言之间进行转换,以及如何在C++中有效地利用...

    C++ primer 英文第五版

    在C++ Primer第五版中,作者首先从C++的基本概念和语法入手,讲解了变量、类型、运算符、控制流等基础知识。这部分内容是所有编程语言的核心,帮助初学者理解程序的基本结构和流程。接着,书中深入探讨了C++的类和...

    C++Primer习题答案

    第八章 标准IO库:深入探讨了C++的输入输出流,包括iostream库的使用,cin和cout进行标准输入输出,以及fstream库处理文件I/O。 第九章 顺序容器:讲解了vector、deque、list和forward_list四种顺序容器的特性和...

    C++ Primer读后总结

    - `#include &lt;iostream&gt;`:此指令告诉预处理器将标准输入输出流文件`&lt;iostream&gt;`的内容插入到当前源文件中。 - `using namespace std;`:这行代码告诉编译器使用`std`命名空间中的所有标识符。`std`命名空间包含了...

    《C++Primer》(第四版)课后习题答案

    第十六章部分选做习题和第十七章用于大型程序的工具分别提供了部分额外的习题和介绍了一些高级编程技巧,包括如何管理和维护大型程序。 第十八章特殊工具与技术介绍了一些特殊的编程技术,包括模板和异常处理,这些...

    C++ Primer Plus(第六版) 7-18章 习题答案

    第十七章:回顾与展望 这一章是对前面章节的复习,总结了C++的主要特性,并为更深入的学习打下基础。 第十八章:面向对象设计 本章讨论了面向对象设计的原则和模式,如单一职责原则、开闭原则、里氏替换原则等,...

    C++Primer第五版答案

    下面将详细解析C++ Primer第五版中的关键知识点。 1. **基础概念**:C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向对象编程的程序设计语言。第五版会介绍基本的数据类型...

    C++ Primer 第四版 中英文双语chm

    《C++ Primer 第四版》是C++编程领域的一本权威教材,专为初学者和有一定经验的程序员设计。本书采用中英文双语形式,既提供了深入浅出的中文解释,也保留了原汁原味的英文原文,帮助读者在学习C++的同时提升英语...

    C++ Primer Plus Sixth Edition

    6. **输入/输出流**:C++的I/O流库使得与文件和标准输入输出设备交互变得简单。书中会讲述iostream库的使用,包括cin、cout和其他流对象。 7. **内存管理和动态内存**:C++允许程序员直接控制内存,通过new和delete...

    C++ primer 第五版 课后答案

    C++ Primer是全球范围内广受欢迎的C++入门教程,第五版更是全面更新,涵盖了现代C++的特性,如模板元编程、智能指针、范围for循环以及C++11/14/17标准的新特性。 在学习C++时,理解并完成课后习题是至关重要的一步...

Global site tag (gtag.js) - Google Analytics