setw()函数使用

在C++中,setw(int n)用来控制输出间隔
例如:
cout<<‘s‘<<setw(8)<<‘a‘<<endl;
则在屏幕显示
s        a 
//s与a之间有7个空格,setw()只对其后面紧跟的输出产生作用,如上例中,表示‘a‘共占8个位置,不足的用空格填充。若输入的内容超过setw()设置的长度,则按实际长度输出。
setw()默认填充的内容为空格,可以setfill()配合使用设置其他字符填充。

cout<<setfill(‘*‘)<<setw(5)<<‘a‘<<endl;
则输出:
****a //4个*和字符a共占5个位置。

所谓域宽,就是输出的内容(数值或字符等等)需要占据多少个字符的位置,如果位置有空余则会自动补足。比如我们要设置域宽为2,那么当输出一位数1的时候输出的就是“ 1”,即在1前面加了一个空格。空格和数字1正好一共占用了两个字符的位置。


们在设置域宽和填充字符的时候要注意几点:①设置域宽的时候应该填入整数,设置填充字符的时候应该填入字符。②我们可以对一个要输出的内容同时设置域宽和
填充字符,但是设置好的属性仅对下一个输出的内容有效,之后的输出要再次设置。即
cout <<setw(2) <<a <<b;语句中域宽设置仅对a有效,对b无效。③setw和setfill
被称为输出控制符,使用时需要在程序开头写上#include "iomanip.h",否则无法使用。

setw(n)
设域宽为n个字符 iomanip.h iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样. 以下是一些常用的函数: dec
置基数为10 相当于"%d" hex 置基数为16 相当于"%X" oct 置基数为8 相当于"%o" setfill(c) 设填充字符为c
setprecision(n) 设显示小数精度为n位 setw(n) 设域宽为n个字符 setiosflags(ios::fixed)
固定的浮点显示 setiosflags(ios::scientific) 指数表示 setiosflags(ios::left) 左对齐
setiosflags(ios::right) 右对齐 setiosflags(ios::skipws 忽略前导空白
setiosflags(ios::uppercase) 16进制数大写输出 setiosflags(ios::lowercase)
16进制小写输出 setiosflags(ios::showpoint) 强制显示小数点 setiosflags(ios::showpos)
强制显示符号 示例: #include <iomanip.h> #include <iostream> int
main() { cout<<12345.0<<endl;//12345
cout<<setiosflags(ios::scientific)<<12345.0<<endl;//1.234500e+004
cout<<setprecision(3)<<12345.0<<endl;//1.235e+004
return 0; }

原文:http://hi.baidu.com/golny/item/9fbbc4f11afe2f1da729884b

setw()函数使用,布布扣,bubuko.com

时间: 2024-11-08 08:00:56

setw()函数使用的相关文章

关于 setw() 函数(C++)

// about setw() #include <iostream> #include <iomanip> #include <cstring> using namespace std; int main() { string name = "wangyang"; // generate a string cout << setiosflags(ios::right) << setfill('a') << set

用setw()函数来控制输出间隔

在C++中,setw(int n)用来控制输出间隔. 例: #include <iostream>#include <iomanip> using namespace std;int main(void){    int i;    int f[20] = { 1,1 };    for (i = 2; i < 20; i++)    {        f[i] = f[i - 2] + f[i - 1];    }    for (i = 0; i < 20; i++

c++ cout输出不足位补0 setw、setfill

头文件:<iomanip> 函数:setw(int n) 函数:setfill(char c) cout<<setw(8)<<setfill('0')<<123<<endl; 输出:00000123 C语言 printf("%08d \n",123); 输出:00000123 在C++中setw(int n)用来控制输出间隔·一般setw(int n)默认输出空格间隔,输出n-1空格间隔例如:cout << ‘’

基础语法

cout函数,该函数用于输出数据 cout函数用于向屏幕输出数据,语法如下: std::cout << 表达式1 << 表达式2 << ... ... << 表达式n; 其中,"<<"称为插入运算符,表达式为要输出的数据. 引用iostream头文件 使用cout函数,该函数是C函数库中的函数,在使用前,要引用#include <iostream>头文件,否则程序无法编译. #include "stdaf

C++基础学习教程(一)

开始自己的C++复习进阶之路. 声明: 这次写的博文纯当是一个回顾复习的教程,一些非常基础的知识将不再出现,或者一掠而过,这次的主要风格就是示例代码很多~~~ 所有代码在Ubuntu 14.04 LTS 版,GCC4.8.1(g++)编译通过.其他的平台没试过,估计有些代码在VC6.0下面通过不了,因为有些语言特性是C++11标准的. 下面就是正文的开始吧. 一.C++必须说和必须略过的一些东西 1.工具 工具的话,简答的编程貌似现在已经习惯了在GCC(g++)下了.Linux平台下面,一般不需

C++ 连接数据库的入口和获取列数、数据

这里不具体放出完整的程序,分享两个核心函数: 由于这里用到的函数是编译器自己的库所没有的,需要自己下载mysql.h库或者本地有数据库,可以去bin找到,放进去. 前提,我自己的测试数据库是WampServe自带的mysql,曾经试过连接新浪云的,发现很坑,它里面的要放代码进去它空间才能连,不能在本机连,连接的输入形参全是它规定的常量! 第一个是连接数据库的: 行内带有详细注释,皆本人的见解,有理解错的,求帮指出. 再作简单介绍,之所有带有int返回类型,是因为一旦连接数据库失败就return

2.C++ 基本语法

一.用VC++控制台应用程序输出第一个Hello World! 1.创建一个C++控制台应用程序ConsoleTest 2.在源文件ConsoleTest.cpp中输入以下代码: #include "stdafx.h"  //预编译头#include <iostream>using namespace std;int main(){        cout << "Hello World!\n";    getchar();    retur

《accelerated c++》第四章练习

4-0本章程序 //4.1 计算一位同学的分数 #include <iomanip> #include <ios> #include <iostream> #include <string> #include <algorithm> #include <vector> #include <stdexcept> using namespace std; double median(vector<double> v

用C++编一程序,先输出一行sun mon tue wed thu fri fri,接着使用右对齐打印出日期,像日历那样

先输出一行sun mon tue wed thu fri fri,再提醒用户输入一个起始日期和终止日期,然后输出结果. #include<iostream> #include<iomanip> //要设置域宽,使用setw函数,所以要使用iomanip头文件 using namespace std; int main(){ int day, stop, i, j, tian; cout << "Enter the number of day and stop: