≯ ostream类及其派生类提供流的各种格式化、非格式化输 出操作,对所有系统预定义的输出流重载插入运算符< > ofstream文件输出流类,其对象与一个文件关联,用于向 该文件中插入数据 ostrstream字符串输出流类,用于把数据插入到一个该类 对象,由该类对象在内存中形成一个字符串 ostream- withassign类:系统预定义的流对象cout所属的 类,重載了赋值运算符
16:38:22 ➢ostream类及其派生类提供流的各种格式化、非格式化输 出操作,对所有系统预定义的输出流重载插入运算符 << ➢ofstream文件输出流类,其对象与一个文件关联,用于向 该文件中插入数据 ➢ostrstream字符串输出流类,用于把数据插入到一个该类 对象,由该类对象在内存中形成一个字符串 ➢ostream_withassign类:系统预定义的流对象cout所属的 类,重载了赋值运算符 =
C艹+推荐使用流对象的方式进行输入/输出操作,且提供了 4个预定义的流对象,分别是:cin、cout、cerr和clog cin:是 istream-withassign类的对象,标准输入流对象, 通常与标准输入设备(键盘)关联,可以被重定向 >cout:是 ostream- withassign类的对象,标准输出流对象, 通常与标准输出设备(显示器)关联,可以被重定向 cer:是 ostream- wi thassign类的对象,标准错误输出流 对象,使用语法与cout相似,但与监视器关联,内部无缓 冲区,不能被重定向 clog:是 ostream- withassign类的对象,标准错误输出流 对象,使用语法与cout相似,与监视器关联,内部有缓冲 区,不能被重定向 使用流类库和流对象时,必须要包含相应的头文件,并使用 命令 using namespace std;打开std名称空间
16:38:22 ➢C++推荐使用流对象的方式进行输入/输出操作,且提供了 4个预定义的流对象,分别是: cin、cout、cerr 和 clog ➢cin:是istream_withassign类的对象,标准输入流对象, 通常与标准输入设备(键盘)关联,可以被重定向 ➢cout:是ostream_withassign类的对象,标准输出流对象, 通常与标准输出设备(显示器)关联,可以被重定向 ➢cerr:是ostream_withassign类的对象,标准错误输出流 对象,使用语法与cout相似,但与监视器关联,内部无缓 冲区,不能被重定向 ➢clog:是ostream_withassign类的对象,标准错误输出流 对象,使用语法与cout相似,与监视器关联,内部有缓冲 区,不能被重定向 使用流类库和流对象时,必须要包含相应的头文件,并使用 命令using namespace std;打开std名称空间
16:38A9 §3格式化输入/输出 C艹+中的流支持两种方式的输入/输出格式控制 1.使用ios类的成员函数 2.使用操纵符 使用ios类的成员函数进行输入/输出格式控制 1.格式控制标志字 ios类中定义了一个成员变量,用于记录当前流的格式化 状态,该成员变量称为格式控制标志字 为了方便记忆,ios类中定义了一些格式控制枚举常量, 每个常量对应于一种输入/输出格式
16:38:22 §3 格式化输入/输出 ➢C++中的流支持两种方式的输入/输出格式控制 1.使用ios类的成员函数 2.使用操纵符 ➢使用ios类的成员函数进行输入/输出格式控制 1.格式控制标志字 ➢ios类中定义了一个成员变量,用于记录当前流的格式化 状态,该成员变量称为格式控制标志字 ➢为了方便记忆,ios类中定义了一些格式控制枚举常量, 每个常量对应于一种输入/输出格式
格式控制枚举常量 标志常量值 意义 I/0 ios:: skipws 0x0001 跳过输入的空白 ios:: left 0x0002 左对齐输出 ios: right 0x0004 右对齐输出 ios: internal_0x008在符号位或基指示符之后填充 I000 ios:: dec 0x0010 十进制格式输入/输出 I/0 10s::0ct 0x0020 八进制格式输入/输出 I/0 ios:: hex 0x0040 十六进制格式输入/输出 I/0 ios:: showcase 0x0080 输出中显示基指示符 ios:: showpoint 0x0100 输出时显示小数点 ios: uppercase0x0200十六进制输出时用大写字母显示 输出正数时显示“+” 0000 ios:: showpos 0x0400 os: scientific0x080输出时以科学计数法显示浮点数0 ios:: fixed 0x1000 定点形式显示浮点数 ios:: unitbuf 0x2000 插入操作后立即刷新流 0 ios: stdio0x4000插入操作后刷新流 stdio和 stderr0
16:38:22 ➢格式控制枚举常量 标志常量 值 意义 I/O ios::skipws 0x0001 跳过输入的空白 I ios::left 0x0002 左对齐输出 O ios:right 0x0004 右对齐输出 O ios:internal 0x0008 在符号位或基指示符之后填充 O ios::dec 0x0010 十进制格式输入/输出 I/O ios::oct 0x0020 八进制格式输入/输出 I/O ios::hex 0x0040 十六进制格式输入/输出 I/O ios::showbase 0x0080 输出中显示基指示符 O ios::showpoint 0x0100 输出时显示小数点 O ios::uppercase 0x0200 十六进制输出时用大写字母显示 O ios::showpos 0x0400 输出正数时显示“+” O ios::scientific 0x0800 输出时以科学计数法显示浮点数 O ios::fixed 0x1000 定点形式显示浮点数 O ios::unitbuf 0x2000 插入操作后立即刷新流 O ios::stdio 0x4000 插入操作后刷新流stdio和stderr O
2.ios类中控制输入/输出格式的成员函数 设置和返回标志字 1 ong flags(long1Fags):用参数1F1ags的值更新标志字 返回更新前的标志字 long flags0 cons t:返回标志字的值 设置标志字中的某些位 log setf(long1F1ags):设置参数F1ag指定的标志位, 返回更新前的标志字的值 10 ng setf(10ng1 Flags,10 ng MAsks):将参数 Masks指 定的标志位清0,并设置参数1F1ag指定的标志位,返回更 新产的标志字的值 清除标志字 long unset(long1F1ags):将参数1F1ags指定的标志位 清0,返回更新前的标志字的值
16:38:22 2.ios类中控制输入/输出格式的成员函数 ➢设置和返回标志字 long flags(long lFlags):用参数lFlags的值更新标志字, 返回更新前的标志字 long flags()const:返回标志字的值 ➢设置标志字中的某些位 log setf(long lFlags):设置参数lFlags指定的标志位, 返回更新前的标志字的值 long setf(long lFlags,long lMasks):将参数lMasks指 定的标志位清0,并设置参数lFlags指定的标志位,返回更 新产的标志字的值 ➢清除标志字 long unsetf(long lFlags):将参数lFlags指定的标志位 清0,返回更新前的标志字的值