C++中改变setw(n)的对齐方式 (转)

使用setw(n)设置输出宽度时,默认为右对齐,如下:

// include <iostream>
// include <iomanip>

std::cout << std::setw(5) << "1"    << std::endl;
std::cout << std::setw(5) << "10"   << std::endl;
std::cout << std::setw(5) << "100"  << std::endl;
std::cout << std::setw(5) << "1000" << std::endl;

//
// 输出结果:
//
//     1
//    10
//   100
//  1000
//
若想让它左对齐的话,只需要插入 std::left,如下:

// include <iostream>
// include <iomanip>

std::cout << std::left << std::setw(5) << "1"    << std::endl;
std::cout << std::left << std::setw(5) << "10"   << std::endl;
std::cout << std::left << std::setw(5) << "100"  << std::endl;
std::cout << std::left << std::setw(5) << "1000" << std::endl;

//
// 输出结果:
//
// 1
// 10
// 100
// 1000
//
同理,右对齐只要插入 std::right,不过右对齐是默认状态,不必显式声明。

时间: 2024-10-29 19:10:19

C++中改变setw(n)的对齐方式 (转)的相关文章

C语言中改变结构体的对齐方式

C语言中默认是以结构体中最长的数据类型为对齐标准如 typedef struct _NODE { short a; int b; char c; }NODE; 会以int,即4字节为对齐标准,此时sizeof(NODE)=12 可以使用#pragma pack(n)改变对齐方式.编译器会从“n”和”结构体中最长的数据类型长度“中选较小的那个作为对齐标准 如#pragma pack(1),相关于取消对齐,1B对齐,此时sizeof(NODE)=7

#pragma pack 定义变量的起始存放地址对齐方式

pack用来指定变量在内存中的存放起始地址对齐方式: 具体用法如下: 1 #pragma pack(push,n) // 保存当前系统设置的对齐方式,压入堆栈,然后设置当前对齐方式为n字节对齐,n通常取 1 2 4 8 2 3 ......... 4 5 #pragma pack(pop) // 恢复当前的对齐方式 pack对齐方式:选当前数据类型本身占用字节数与pack指定的对齐字节数两者之间的最小值, 用这个最小值的整数倍作为存放的起始地址. 例1: 1 #pragma pack(push,

[ css 补充 vertical-align ] css中补充的vertical-align(对齐方式)的知识点

7.4.1 语 法 vertical-align属性的具体定义列表如下: 语法: vertical-align : baseline | sub | super | top | text- top | middle | bottom | text-bottom | <百分比> | <长度> | inherit说明: 设置元素内容的垂直对齐方式值: baseline:基线对齐:sub:下标:super:上标:top:顶端对齐:text-top:与文本的顶端对齐:middle:中部对

c++中对齐方式

使用cout<<setiosflags(ios::right)以后,再调用 cout<<setiosflags(ios::left);无效的,你可以在调用之前加上一句 cout<<resetiosflags(ios::right);清除右对齐以后在调用 cout<<setiosflags(ios::left);就没问题了. 或者更简洁些,你可以写成 cout<<left<<setw(3)<<x*y;这样也能达到你所希望的效

C# Excel 中设置文字对齐方式、方向和换行

在Excel表格中输入文字时,我们常常需要调整文字对齐方式或者对文字进行换行.本文将介绍如何通过编程的方式设置文字对齐方式,改变文字方向以及对文字进行换行. //创建Workbook对象 Workbook wookbook = new Workbook(); Worksheet sheet = wookbook.Worksheets[0]; //添加说明文字 sheet.Range["B1"].Text = "文字对齐方式"; sheet.Range["D

iOS 中UI控件的各种对齐方式总结

1.textAligment : 文字的水平方向的对齐方式 取值 NSTextAlignmentLeft      = 0,    // 左对齐 NSTextAlignmentCenter    = 1,    // 居中对齐 NSTextAlignmentRight    = 2,    // 右对齐 哪些控件有这个属性 一般能够显示文字的控件都有这个属性 UITextField UILabel UITextView ... (UILabel 默认是居中对齐的,并没有提供顶部对齐的方式-_-,

141设置屏幕中文本的横向对齐方式(扩展知识:设置标签行间距)

效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UIViewController 4 @end ViewController.m 1 #import "ViewController.h" 2 #import "KMLabel.h" 3 4 @interface ViewController () 5 - (void)layoutUI; 6 @

HTML中经常用到的对齐,居中方式

在编写一片网页时,我们经常需要使一些文本或者图片,盒子居中!但是在众多的写法里,那些才能使我们的目的最快,最有效的达到呢! 居中也是有轴线之分的,水平轴,垂直于水平轴的轴,交叉轴. 1盒子居中 margin:auto: 通常在这此行只有一个盒子的情况下使用[需要定宽-常规流和浮动不用] 2文本居中 定义水平轴线对齐方式 flex-start 项目位于在主轴起点flex-end 项目位于主轴终点center 项目在中间space-between 两端对齐,项目之间的间隔都相等(开头和最后与父元素没

windows和Linux内存的对齐方式

一.内存对齐的初步讲解 内存对齐可以用一句话来概括: "数据项只能存储在地址是数据项大小的整数倍的内存位置上" 例如int类型占用4个字节,地址只能在0,4,8等位置上. 例1: #include <stdio.h> struct xx{ char b; int a; int c; char d; }; int main() { struct xx bb; printf("&a = %p\n", &bb.a); printf("