C++ IO 格式控制器

1、不需要参数的IO控制器的函数定义在<iosteram>中,其中包括dec,oct和hex.也包括ws,endl,ends和flush以及如下图所示的内容。

 

2、需要参数的控制器定义在<iomainip>头文件中,有如下的预定义的控制器

3、下边是使用IO控制器的例子程序

   1:  #include <fstream>
   2:  #include <iomanip>
   3:  using namespace std;
   4:   
   5:  int main() {
   6:    ofstream trc("trace.out");
   7:    int i = 47;
   8:    float f = 2300114.414159;
   9:    char* s = "Is there any more?";
  10:   
  11:    trc << setiosflags(
  12:           ios::unitbuf /*| ios::stdio */ /// ?????
  13:           | ios::showbase | ios::uppercase
  14:           | ios::showpos);
  15:    trc << i << endl; // Default to dec
  16:    trc << hex << i << endl;
  17:    trc << resetiosflags(ios::uppercase)
  18:      << oct << i << endl;
  19:    trc.setf(ios::left, ios::adjustfield);
  20:    trc << resetiosflags(ios::showbase)
  21:      << dec << setfill(‘0‘);
  22:    trc << "fill char: " << trc.fill() << endl;
  23:    trc << setw(10) << i << endl;
  24:    trc.setf(ios::right, ios::adjustfield);
  25:    trc << setw(10) << i << endl;
  26:    trc.setf(ios::internal, ios::adjustfield);
  27:    trc << setw(10) << i << endl;
  28:    trc << i << endl; // Without setw(10)
  29:   
  30:    trc << resetiosflags(ios::showpos)
  31:      << setiosflags(ios::showpoint)
  32:      << "prec = " << trc.precision() << endl;
  33:    trc.setf(ios::scientific, ios::floatfield);
  34:    trc << f << endl;
  35:    trc.setf(ios::fixed, ios::floatfield);
  36:    trc << f << endl;
  37:    trc.setf(0, ios::floatfield); // Automatic
  38:    trc << f << endl;
  39:    trc << setprecision(20);
  40:    trc << "prec = " << trc.precision() << endl;
  41:    trc << f << endl;
  42:    trc.setf(ios::scientific, ios::floatfield);
  43:    trc << f << endl;
  44:    trc.setf(ios::fixed, ios::floatfield);
  45:    trc << f << endl;
  46:    trc.setf(0, ios::floatfield); // Automatic
  47:    trc << f << endl;
  48:   
  49:    trc << setw(10) << s << endl;
  50:    trc << setw(40) << s << endl;
  51:    trc.setf(ios::left, ios::adjustfield);
  52:    trc << setw(40) << s << endl;
  53:   
  54:    trc << resetiosflags(
  55:           ios::showpoint | ios::unitbuf
  56:           // | ios::stdio // ?????????
  57:   );
  58:  } ///:~

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

4、输入如下

+47

0X2F

057

fill char: 0

+470000000

0000000+47

+000000047

+47

prec = 6

2.300115e+006

2300114.500000

2.30011e+006

prec = 20

2300114.5000000000000

2.30011450000000000000e+006

2300114.50000000000000000000

2300114.5000000000000

Is there any more?

0000000000000000000000Is there any more?

Is there any more?0000000000000000000000

时间: 2024-10-18 11:00:44

C++ IO 格式控制器的相关文章

c++IO之预定义格式控制

在C语言里,我们可以通过函数printf和scanf来进行格式化控制.而在C++中仍然包含了前者,但还提供了以下两种格式控制的方法:(1)使用流成员函数进行格式控制;(2)使用预定义操作符进行格式控制.下面我来一一介绍: 1.流成员函数主要是指ios类(流基类)中的,分别有: (1).设置状态标志流成员函数setf 一般格式:long ios::setf(long flags),调用格式:流对象.setf(ios::状态标志) ios类的状态标志有: 因为状态标志在ios类中定义为枚举值,所以在

imx6中iomux IO复用

IOMUX Controller (IOMUXC) IO多路复用控制器1.overviewThe IOMUX Controller (IOMUXC), together with the IOMUX, enables the IC to share one pad to several functional blocks.IOMUXC和IOMUX使IMX6能够多个功能模块公用一个pad. 共用是通过对pad的输入/输出信号的多路复用技术来实现的.每一个模块需要一个特定的pad设置, 且对于每一个

C之IO操作

可参考自: C++之标准设备IO操作流 C++之预定义类型IO格式控制 C++之文件IO操作流

C++IO之文件操作

前两节介绍了C++的IO流类库,标准设备IO操作流中部分预定义流对象的成员函数以及IO格式控制.那今天我将继续介绍关于C++中的流操作内容--文件IO操作流fstream.并会着重讲解C++是如何对文件进行操作的. 文件指存放在外部介质上的数据的集合.大家都知道操作系统是以文件为单位来对数据进行管理的.因此如果你要查找外部介质的数据,则先要按文件名找到指定文件,然后再从文件中读取数据,如果要把数据存入外部介质中,如果没有该文件,则先要建立文件,再向它输入数据.由于文件的内容千变万化,大小各不相同

关于几个与IO相关的重要概念

1.读/写IO 读IO就是发指令从磁盘读取某段序号连续的扇区内容.指令一般是通知磁盘开始扇区位置,然后给出需要从这个初始扇区往后读取的连续扇区个数,同时给出动作是读还是写.磁盘收到这条指令就会按照指令的要求读或者写数据.控制器发出这种指令加数据并得到对方回执的过程就是一次IO读或IO写. 一个IO所要提取的扇区段一定是连续的,如果想提取或写入两段不连续的扇区段,只能将它们放入两个IO钟分别执行,这也就是为何随机IO对设备的IOPS指标要求较高的原因. 2.大/小块IO 指控制器的指令中给出的连续

homework week07

本周作业内容: 1.创建一个10G分区,并格式为ext4文件系统: (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl: (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳: # 创建一个分区,没有10G空间,用1G代替.分区建在扩展分区上. [[email protected] ~]# fdisk /dev/sdb WARNING: DOS-compatible mode is deprec

POJ_1274_二分匹配题解

The Perfect Stall POJ - 1274 时限: 1000MS 内存: 10000KB    64位IO格式: %I64d & %I64u 问题描述 Farmer John completed his new barn just last week, complete with all the latest milking technology. Unfortunately, due to engineering problems, all the stalls in the n

[HDU] 迷宫城堡 HDU - 1269

迷宫城堡 HDU - 1269 时限: 1000MS   内存: 32768KB   64位IO格式: %I64d & %I64u 问题描述 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过它可以由B房间到达A房间.Gardon需要请你写个程序确认一下是否任意两个房间都是相互连通的,即:对于任意的i和j

laravel 表单验证 正则匹配

判断url地址 是否为正确格式 控制器中 $this -> validate($request,[ 'linkname' => 'required|max:6|min:2', 'url' => 'required', 'url' => array('regex:/(http?|ftp?):\/\/(www)\.([^\.\/]+)\.(com|cn)(\/[\w-\.\/\?\%\&\=]*)?/i'), 'order' => 'required|regex:[[0-