应用fstream格式化输出
我举一个我应用的例子
file.open("shoroud.jrf" ,ios_base::trunc); //打开文件,清空文件内容
if(!file.good())
{
printf("Cannot open the file\n" );
return;
}
file<<"ic_curve point CURVES crv.00 {" <<endl;
file.precision(8);
file.flags(ios::left|ios::fixed);
file.fill('0' );
for(int i=0;i<shroudX.size();i++){
file<<"{ " ;
file.width(14);
file<<shroudX[i];
file<<" " ;
file.width(14);
file<<0;
file<<" " ;
file.width(14);
file<<shroudY[i]<<"}" <<endl;
}
file<<"}" <<endl;
file<<"ic_uns_subset_delete {}" ;
file.close();
file有4个函数要注意:
1. file.precision(8);
2. file.flags(ios::left|ios::fixed);
3. file.fill('0' );
4. file.width(14);
前三个函数是一次设定始终有效,而第四个2只对下一次输入有效。依次解释这四个函数的意义:
file.precision(3); 设定精度,小数点后有效数的位数,若输出0.32456,结果为0.324,;若输出0.3,结果为0.3。也就是对缺少的位数该函数不会去补充;
file.fill('0' );该函数的作用就是把空出来的位数用某一字符来补充。但注意仅设置precision的情况下是不会补充的。因为precision只负责精度
,而不会限定具体位数。
file.width(14);则是限定输出的位数。但在系统优先满足精度,输出位数可能无法保证。例如321.45678,若设定8位宽度,5位精度,最终结果是321.45678。即优先满足精度要求,其次满足宽度要求。同样上例中若精度为2位,结果为321.45.剩下的可以用fill来补充
但设定以上三种条件也无法得出满意的结果。因为系统默认数字右对齐,也就是填充字符会填充在数字的左边!此时必须进步设定file.flags(ios::left|ios::fixed);其中ios::left是令字符左对齐,而ios::fixed,该参数指定的动作是以带小数点的形式表示浮点数,并且在允许的精度范围内尽可能的把数字移向小数点右侧;
应用fstream格式化输出的更多相关文章
- C++ cout格式化输出(转)
C++ cout格式化输出(转) 这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等.通过本文,您可以完全脱离scanf/pr ...
- C++输入输出流 cin/cout 及格式化输出简介
C++ 可通过流的概念进行程序与外界环境( 用户.文件等 )之间的交互.流是一种将数据自源( source )推送至目的地( destination )的管道.在 C++ 中,与标准输入/输出相关的流 ...
- C++简单实现Log日志类轻量级支持格式化输出变量
CLog 头 代码很简单 如果需要的直接Ctrl+C ----Ctrl+V 即可 #ifndef __CLOG__ #define __CLOG__ #include <windows.h&g ...
- python的print函数的格式化输出
使用print函数的时候,可以像C一样格式化输出,同时还支持参数化输出 print('%s' % ("CooMark")) print('整数|%d|' % (123)) prin ...
- python学习笔记(基础二:注释、用户输入、格式化输出)
注释 单行:# 多行:上下各用3个连续单引号或双引号 3个引号除了多行注释,还可以打印多行 举例: msg = ''' name = "Alex Li" name2 = name ...
- cout 格式化输出
一直习惯于C语言的printf函数来打印,突然有一天要用cout来打印,发现有点不适应. 原来cout也是有格式化输出的. 首先要引入头文件 #include<iostream> // 在 ...
- Python 格式化输出
转载 今天写程序又记不清格式化输出细节了--= =索性整理一下. 注意: 与C/C++ 不同的是这里括号后面不需要加' , '号. python print格式化输出. 1. 打印字符串 print ...
- Python格式化输出
今天写程序又记不清格式化输出细节了……= =索性整理一下. python print格式化输出. 1. 打印字符串 print ("His name is %s"%("A ...
- Javascript实现格式化输出
前两天看面试题,其中有一道要实现js的格式化输出,具体给出的是: Javascript实现格式化输出,比如输入999999999,输出为999,999,999 我的实现方式是 function for ...
随机推荐
- HNOI 2012 矿场搭建
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #def ...
- bzoj 1835: [ZJOI2010]base 基站选址
Description 有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci.如果在距离第i个村庄 ...
- OpenGL ES学习001---绘制三角形
PS:OpenGL ES是什么? OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机.PDA和游戏主机等嵌入式设备而设计 ...
- Ansible 系列之 Patterns
Ansible 之 Patterns 1.Ansible中的Patterns决定了我们要管理哪个主机,意思是与哪些主机进行交互. 我们将在Ad-Hoc(Ad-Hoc 是指 临时执行的命令,要结合着模块 ...
- Kafka的基本概念与安装指南(单机+集群同步)
最近在搞spark streaming,很自然的前端对接的就是kafka.不过在kafka的使用中还是遇到一些问题,比如mirrormaker莫名其妙的丢失数据[原因稍后再说],消费数据offset错 ...
- Asp,NET控制文件上传的大小
在web.config中的system.web 节点下添加如下代码: 第2行的maxRequestLength="8192",这里限制最大为8MB,可以自行设置.execution ...
- 3、公司开会的必要性 - CEO之公司管理经验谈
这几天在考虑开公司的问题.以前也有想过开公司创业,但是由于资金和团队问题搁置了.今天在网上看到了一篇文“[转]微软是这么管理员工的!你一定向往!”,想起以前在其它公司时开的一些会议的问题,就写了此文, ...
- HTML学习 框架
iframe 在原来的页面嵌入其他页面 <iframe src="其他页面地址" width="宽" height="高" frame ...
- vue2.0 实现导航守卫(路由守卫)
路由跳转前做一些验证,比如登录验证,是网站中的普遍需求. 对此,vue-route 提供的 beforeRouteUpdate 可以方便地实现导航守卫(navigation-guards). 导航守卫 ...
- Koa2和相关资料
koa2是什么我就不介绍,这里只是收集一些有用的资料,koa这里默认就指koa2了额. koa介绍 koa(GitHub) koa(npm) 文档 Usage Guide Error Handling ...