2 xiaodianer1111 xiaodianer1111 于 2015.07.18 09:39 提问

C++输出文件数据格式遇到的对齐问题

C++输出txt数据,里面的格式调整不好,使用了 ftest<<setiosflags(ios::fixed)<<setprecision(7)<<am<<endl;但是在中间的时候除了点问题
3.1348292 -0.2170778 99.9333757
3.1356595 -0.2191556 99.9996267
空格 3.1362225 -0.2208898 100.0660170
空格 3.1369420 -0.2221694 100.1322952
后两行开始前面有空格 ,然后都往后挪了一位,格式错位了,求助大神!

2个回答

91program
91program   Ds   Rxr 2015.07.18 10:49

是不是因为你最后两行,最后一个小数的整数部分由 2 位变成 3 位引起的。

xiaodianer1111
xiaodianer1111 是的 但是第一个数字也是往后面空了一格 ,这样就错位了
大约 3 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.07.18 14:31

像这种,直接用逗号来分割各个数字,类似csv格式文件做的,这样数据就分割开了,然后用excel打开各列数据都是对齐的。就可以满足你要求了。
excel还可以进行更复杂的数据处理。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C++与C的输出对齐
首先看C++的: C++输出对齐需要包含头文件,当然对齐方式也分为左右两种,直接看代码更好理解。 #include #include using namespace std; int main() { int a = 9999; int b = 999; int c = 99; //默认右对齐 cout << "默认右对齐为:\n"; cout << setw(6) << a
C语言printf对齐输出方式
在编程调试时,通常将log信息输出到文件中,此时需要注意输出对齐方式 C语言中,常见的有两种方式可以实现其输出字符串或数字对齐输出 制表符\t 制表符\t输出的时候,会移动输出光标,实现对齐效果。因此可以在输出的对应位置,增加\t来实现对齐。但有个缺点:要求每行相同列输出占用空间差别不可以太大。(若输出的是数字信息,可以直接将log信息copy到excel表格中,能很好地统计数字数值信息) 加入
c语言编程中字节对齐的问题
1. 什么是对齐?     现代计算机中内存空间都是按照字节(byte)划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序地一个接一个地排放,这就是对齐。 2.计算机为什么要对齐?     各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能
写文件时字段对齐和填充的C代码实现
在实际的软件开发项目中,经常会遇到需要转换某些文件中的字段格式的问题。例如,在生成的话单文件中,要求某些字段的长度固定,如果目前该字段的长度不足,则不足的位数用某些特殊的字符来填充(并可能会对填充的位置有要求)。之所以要求字段格式固定,是为了方便对文件的自动处理,因为很多软件是按照一定的规则对文件进行处理的。本文示例了对字段进行填充的方法。
【C语言 & C++】对齐输出九九乘法口诀
//对齐输出九九乘法口诀 #include #include //using namespace std; int main() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { cout<<i<<"*"<<j<<"="<<setw(2)<<i*j<<" "; } cout<<endl; } return 0
使用标准C读取文件遇到的结构体对齐问题及其解决办法
在使用结构体读取文件时需要考虑结构体内存对齐问题。
c++输出对齐函数 setw()
int a=10;  // 也可以是string a string b   字符串对齐的代码和int型其实是一样的,底下都不改,输出的格式也会右对齐,已经尝试过  int b=20;  cout.setf(ios::right,ios::adjustfield);  cout.fill('0');  cout  cout setw() 属于在cout要求对齐时候比较方便的
C语言printf("")左对齐和右对齐
1.左对齐 printf("%d\n,101010");默认打印格式为左对齐; printf("%-10d\n",101010);在数字宽度前面加一个“-”。 2.右对齐 printf("%10d\n",101010);在%和d之间加上数字宽度,就可以右对齐。
C语言结构中的边界对齐问题
没错,今天2月14,单身狗如我情人节也只能苦逼地撸代码了。不知道大家有没有发现一个奇怪的现象,见图~ 结构test里面包含了1个int型变量和2个char型变量,照理说sizeof( struct test )应该等于它们三个相加的结果6才对,为什么会等于8呢? 事实上,结构成员在内存中的存储并不是想当然地一个紧挨着一个排列下来的,由于提高数据读取速度的要求以及
Python的print输出中文对齐问题
Python的print函数输出中文字符串对齐问题的解决方案。