读 《C++ Primer Plus》第17章1-3节
一 输出
cstdio(stdio.h) cstring(string.h) iostream(iostream.h) cmath(math.h)
1. 输出字符串的地址:cout<<(void *)amount
对于没有void*类型的系统,则要强制转换成unsigned或unsigned long类型
2. ostream的两个输出方法:
a) ostream & put(char); 在原型合适的情况下,可以将数值型参数用于put,让函数原型自动将参数转换为正确的char值。
b) basic_ostream<char T,traints>& wirte(const char_type* s, streamsize n); 第一个参数为要显示的字符串的地址,第二个参数指出要显示多少个字符。返回类型为ostream &. 该函数不会将数字转换位相应的字符,而是传输内存中存储的位表示。例如4字节的long值将最为4个独立的字节被输出。输出设备将把每个字节作为ASCII码表示。
3. 刷新缓冲区:
a) 输入即将发生时刷新缓冲区
b) 将换行符发送到缓冲区后,将刷新缓冲区
强制刷新缓冲区:
cout<<flush;(刷新buffer) 也可以使用flush(cout);
cout<<endl;(刷新buffer并且插入一个换行符)
4. 用cout进行格式化
a) 修改显示的使用的计数系统
i. 使用dec,hex,oct,即dec(cout)
ii. cout<<hex;直到下一次改变输出方式时为止
b) 调整字段的宽度
i. int width() 返回字段宽度的当前设置
ii. int width(int i) 设置字段宽度为i个空格,并返回以前的字段宽度
width方法只影响接下来显示的一个项目,然后字段宽度将恢复为默认值。
用法如下:cout<<”#”;cout.width(12);cout<<12<<”#”;
默认为右对齐。
c) 设计填充字符 cout.fill(character); 新的填充字符将一直有效,只到更改它为止。
d) 设计浮点数的显示精度cout.precision(2); 一直有效,直到被更改
默认模式下,它指的是显示的总位数。在定点模式和科学模式下,精度值的是小数点后的位数。
e) 打印末尾的0和小数点 cout.setf(ios_base::showpoint);
如果使用的是iostream.h则可能是ios::showpoint
cout.setf(fmtflags)的一些位置常量的说明(fmtflags是bitmask(存储各个位值的类型)的typedef形式)
Constant
|
Meaning
|
ios_base::boolalpha
|
输入和输出bool值,可以为true或false cout<<true
|
showpoint
|
显示末尾的小数点
|
fixed/scientific
|
指定为定点/科学计数(显示末尾的0)
|
showbase
|
对于输出,使用C++前缀
|
uppercase
|
十六进制,使用大写字母;E表示法
|
showpos
|
在正数前面加+,仅对于十进制
|
cout.setf(long,long)的说明(返回值是,ios_base::fmtflags):
第二个参数
|
第一个参数
|
含义
|
ios_base::basefield
|
ios_base::dec
|
使用基数10
|
|
oct
|
8
|
|
ios_base::hex
|
使用基数16
|
ios_base::floatfiled
|
fixed
|
使用定点计数法
|
|
scientific
|
使用浮点计数法
|
ajustfiled
|
left
|
左对齐
|
|
right
|
右对齐
|
|
internal
|
符号或基数前缀左对齐,值右对齐
|
内部对齐是指的是:将符号或基数前缀放在字段的左侧,余下的数字放在字段的右侧。
void unsetf(fmtflags mask); 消除设计位
启用默认模式的方法:
cout.setf(ios_base::showpoint);
cout.unsetf(ios_base::floatfiled);
boolalpha, noboolalpha, showbase, noshowbase, showpoint, showpos, unshowpos, uppercase, nouppercase
iternal, left, right, dec, hex, oct, fixed, oct, scientific
|
标准控制符
用法如:cout<<left<<”hello world”;
iomanip提供的控制符:
setprecision(),setfill(),setw();
用法如普通控制符,如cout<<setfill();
分享到:
- 2009-03-23 22:46
- 浏览 1643
- 评论(0)
- 论坛回复 / 浏览 (0 / 3137)
- 查看更多
相关推荐
《C++ Primer Plus》是C++编程领域里一本经典的教程,涵盖了从基础语法到高级特性的广泛内容。从第七章到第十三章,这涵盖了类(classes)、对象(objects)、继承(inheritance)、多态(polymorphism)、模板...
第十六章和第十七章讲解了高级主题,包括模板、异常处理、输入/输出流等,提供了相关的编程练习题和答案,帮助读者掌握 C++ 语言的高级使用技巧。 本书的每一章都提供了详细的理论讲解、实践编程练习和复习题,旨在...
### 第17章:C++和C的兼容性 #### PE17-1至PE17-7 这部分习题讲解了C++与C语言之间的兼容性问题,以及如何在C++程序中使用C语言的库和函数。读者可以学习到如何在两种语言之间进行转换,以及如何在C++中有效地利用...
11. 第十一章泛型算法:介绍C++标准库中的算法,如排序、搜索、交换、复制等,它们可以应用于不同的容器。 12. 第十二章类和数据抽象:讲解面向对象编程的核心概念,如类的定义、封装、构造函数、成员函数、友元等...
C++ Primer Plus第六版涵盖了C++语言的基础到高级主题,包括但不限于: 1. **基础语法**:书中详细介绍了C++的基本语法,如变量、数据类型、运算符、流程控制语句(if、switch、循环等),以及函数的使用和定义。 ...
《C++ Primer Plus 第六版》是一本广受欢迎的C++编程教材,它为初学者提供了全面而深入的C++语言学习指南。本压缩包包含了该书中的源代码示例,帮助读者更好地理解和实践书中所讲解的概念。这些章节涵盖了C++的基础...
15.14章 重载输入输出操作符 16.14章 重载算术操作符 17.14章 重载关系操作符(一) 18.14章 重载关系操作符(二) 19.14章 重载赋值操作符 20.14章 重载下标操作符 21.14章 重载成员访问操作符 22.14章 ...
第十七章:回顾与展望 这一章是对前面章节的复习,总结了C++的主要特性,并为更深入的学习打下基础。 第十八章:面向对象设计 本章讨论了面向对象设计的原则和模式,如单一职责原则、开闭原则、里氏替换原则等,...
C++ primer plus第六版中文版的勘误表为学习者提供了书中一些错误的修正,从而有助于读者准确理解并掌握C++编程语言的精髓。下面是对勘误表中知识点的详细解读: 1. 关于指针和内存分配,存在一条错误信息,提到...
《C++ Primer Plus》是C++编程领域里一本经典的入门教程,其第六版更是深受读者喜爱。本压缩包文件“C++ Primer Plus Programming Exercise.zip”包含了该书的配套编程练习代码,旨在帮助学习者加深对C++语言的理解...
- C++ Primer Plus第五版依据的是2003年的ISO/ANSI C++标准进行编写。这一版本的标准为C++提供了一个统一且规范的框架,确保了C++语言在不同平台上的兼容性和一致性。 - 书中详细介绍了如何根据这个标准来编写代码...
### C++ Primer Plus 第五版 学习笔记关键知识点概览 #### 一、C++ 源代码风格规范 1. **每行一条语句**:为了提高代码的可读性和可维护性,建议每行只写一条语句。 2. **花括号格式**: - 每个函数的两个花括号...
《C++ Primer Plus(第四版)中文版》是该领域的经典教材之一,其第四版可能包含更新的内容,以适应C++标准的发展,例如C++11、C++14、C++17和最新的C++20等。这些新标准引入了许多重要的改进,如自动类型推断(auto...
例如,在第一个代码片段中,通过`unsigned int a = 4294967295;`定义了一个无符号整型变量`a`,并将其初始化为最大值;接着`float b = 3.4E38;`定义了一个浮点型变量`b`,并用科学计数法初始化其值。 #### 知识点二...
### C Primer Plus第六版知识点概览 #### 一、C语言基础 - **程序结构**:解释了如何构建一个简单的C程序,包括头文件的引入、主函数的定义以及注释的使用等基本概念。 - **数据类型**:介绍了C语言中的各种数据...
《C++ Primer Plus 6th》是一本广受赞誉的C++编程教程,它适合初学者,也适合希望深入理解C++的程序员。这本书详细介绍了C++语言的基础知识,包括语法、面向对象编程概念以及标准库的使用。下面将根据这个主题,为你...
《C++ Primer Plus中文版(第六版)》是学习C++编程语言的重要参考书。C++是计算机科学中广泛使用的高级编程语言,尤其在系统软件、应用软件、游戏开发等领域。该书可能帮助考生掌握C++的基本语法、面向对象编程思想...