`
strong_fee
  • 浏览: 178475 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

读 《C++ Primer Plus》第17章 输入输出(一)

阅读更多

 C++ Primer Plus》第171-3

     输出

cstdio(stdio.h)     cstring(string.h)   iostream(iostream.h) cmath(math.h)

1.          输出字符串的地址:cout<<(void *)amount

对于没有void*类型的系统,则要强制转换成unsignedunsigned 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.              使用dechexoct,即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)的一些位置常量的说明(fmtflagsbitmask(存储各个位值的类型)typedef形式)

Constant

Meaning

ios_base::boolalpha

输入和输出bool值,可以为truefalse  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();

分享到:
评论

相关推荐

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

    《C++ Primer Plus》是C++编程领域里一本经典的教程,涵盖了从基础语法到高级特性的广泛内容。从第七章到第十三章,这涵盖了类(classes)、对象(objects)、继承(inheritance)、多态(polymorphism)、模板...

    C++ primer plus课后编程练习题答案

    第十六章和第十七章讲解了高级主题,包括模板、异常处理、输入/输出流等,提供了相关的编程练习题和答案,帮助读者掌握 C++ 语言的高级使用技巧。 本书的每一章都提供了详细的理论讲解、实践编程练习和复习题,旨在...

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

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

    C++Primer(第4版)-课后习题答案.pdf

    11. 第十一章泛型算法:介绍C++标准库中的算法,如排序、搜索、交换、复制等,它们可以应用于不同的容器。 12. 第十二章类和数据抽象:讲解面向对象编程的核心概念,如类的定义、封装、构造函数、成员函数、友元等...

    C++ Primer Plus Sixth Edition

    C++ Primer Plus第六版涵盖了C++语言的基础到高级主题,包括但不限于: 1. **基础语法**:书中详细介绍了C++的基本语法,如变量、数据类型、运算符、流程控制语句(if、switch、循环等),以及函数的使用和定义。 ...

    C++ Primer Plus - Examples Source Code, 6th Edition.zip

    《C++ Primer Plus 第六版》是一本广受欢迎的C++编程教材,它为初学者提供了全面而深入的C++语言学习指南。本压缩包包含了该书中的源代码示例,帮助读者更好地理解和实践书中所讲解的概念。这些章节涵盖了C++的基础...

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

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

    C++ primer plus第六版 勘误表

    C++ primer plus第六版中文版的勘误表为学习者提供了书中一些错误的修正,从而有助于读者准确理解并掌握C++编程语言的精髓。下面是对勘误表中知识点的详细解读: 1. 关于指针和内存分配,存在一条错误信息,提到...

    C++ Primer Plus Programming Exercise.zip

    《C++ Primer Plus》是C++编程领域里一本经典的入门教程,其第六版更是深受读者喜爱。本压缩包文件“C++ Primer Plus Programming Exercise.zip”包含了该书的配套编程练习代码,旨在帮助学习者加深对C++语言的理解...

    C++_Primer_Plus中文第五版介绍

    - C++ Primer Plus第五版依据的是2003年的ISO/ANSI C++标准进行编写。这一版本的标准为C++提供了一个统一且规范的框架,确保了C++语言在不同平台上的兼容性和一致性。 - 书中详细介绍了如何根据这个标准来编写代码...

    C++Primer视频(高级)下载地址

    15.14章 重载输入输出操作符 16.14章 重载算术操作符 17.14章 重载关系操作符(一) 18.14章 重载关系操作符(二) 19.14章 重载赋值操作符 20.14章 重载下标操作符 21.14章 重载成员访问操作符 22.14章 ...

    C++primer_plus_第五版_学习笔记

    ### C++ Primer Plus 第五版 学习笔记关键知识点概览 #### 一、C++ 源代码风格规范 1. **每行一条语句**:为了提高代码的可读性和可维护性,建议每行只写一条语句。 2. **花括号格式**: - 每个函数的两个花括号...

    c++ primer

    《C++ Primer Plus(第四版)中文版》是该领域的经典教材之一,其第四版可能包含更新的内容,以适应C++标准的发展,例如C++11、C++14、C++17和最新的C++20等。这些新标准引入了许多重要的改进,如自动类型推断(auto...

    c_primer_plus课后编程答案

    例如,在第一个代码片段中,通过`unsigned int a = 4294967295;`定义了一个无符号整型变量`a`,并将其初始化为最大值;接着`float b = 3.4E38;`定义了一个浮点型变量`b`,并用科学计数法初始化其值。 #### 知识点二...

    C Primer Plus 第六版 .pdf

    ### C Primer Plus第六版知识点概览 #### 一、C语言基础 - **程序结构**:解释了如何构建一个简单的C程序,包括头文件的引入、主函数的定义以及注释的使用等基本概念。 - **数据类型**:介绍了C语言中的各种数据...

    C++ Primer Plus 6th 源码

    《C++ Primer Plus 6th》是一本广受赞誉的C++编程教程,它适合初学者,也适合希望深入理解C++的程序员。这本书详细介绍了C++语言的基础知识,包括语法、面向对象编程概念以及标准库的使用。下面将根据这个主题,为你...

    计算机 考研 408 真题 09 -17 高清

    《C++ Primer Plus中文版(第六版)》是学习C++编程语言的重要参考书。C++是计算机科学中广泛使用的高级编程语言,尤其在系统软件、应用软件、游戏开发等领域。该书可能帮助考生掌握C++的基本语法、面向对象编程思想...

Global site tag (gtag.js) - Google Analytics