基本输入输出
输出:cout<<
输入:cin>>
错误:cerr<<
日志:clog<<
在功能和调用上,cout,cerr和clog看上去无差别,cerr对象是非缓冲的 ,每个流插入到cerr后会立即输出,而clog对象是缓冲的,每个流插入到clog会先存储在缓冲区,直到缓冲填满或缓冲刷新才输出
虽然看上去功能无差别,但最好还是用cerr输出错误信息,clog输出日志,不要全都用cout
cout格式化输出
成员函数 | 说明 |
---|---|
flags(fmtfl) | 当前格式状态全部替换为 fmtfl。注意,fmtfl 可以表示一种格式,也可以表示多种格式。 |
precision(n) | 设置输出浮点数的精度为 n。 |
width(w) | 指定输出宽度为 w 个字符。 |
fill(c) | 在指定输出宽度的情况下,输出的宽度不足时用字符 c 填充(默认情况是用空格填充)。 |
setf(fmtfl, mask) | 在当前格式的基础上,追加 fmtfl 格式,并删除 mask 格式。其中,mask 参数可以省略。 |
unsetf(mask) | 在当前格式的基础上,删除 mask 格式。 |
标 志 | 作 用 |
---|---|
ios::boolapha | 把 true 和 false 输出为字符串 |
ios::left | 输出数据在本域宽范围内向左对齐 |
ios::right | 输出数据在本域宽范围内向右对齐 |
ios::internal | 数值的符号位在域宽内左对齐,数值右对齐,中间由填充字符填充 |
ios::dec | 设置整数的基数为 10 |
ios::oct | 设置整数的基数为 8 |
ios::hex | 设置整数的基数为 16 |
ios::showbase | 强制输出整数的基数(八进制数以 0 开头,十六进制数以 0x 打头) |
ios::showpoint | 强制输出浮点数的小点和尾数 0 |
ios::uppercase | 在以科学记数法格式 E 和以十六进制输出字母时以大写表示 |
ios::showpos | 对正数显示“+”号 |
ios::scientific | 浮点数以科学记数法格式输出 |
ios::fixed | 浮点数以定点格式(小数形式)输出 |
ios::unitbuf | 每次输出之后刷新所有的流 |