cout的输出格式初探

原创 2015年07月08日 20:28:38

在C++中,cout代表的是标准输出设备,即显示器,相对于C语言中所使用的printf函数,cout显得更为灵活。下面以30、300和1024三个数为例子,简单说明cout输出时所选格式的输出。cout默认以十进制方式输出数值,也可以设置为八进制(oct)、十六进制(hex)输出方式,同时还可以显示输出方式的基指示符(进制标识符,例如八进制的O,十六进制的Ox)。

//设置输出格式
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{	
	cout<<"please input a string"<<endl;
	char str[20];
	cin>>str; //cin默认以空格作为定界符,考虑使用getline()函数
	cout<<"str = "<<str<<endl;
	
	cout<<"----------------"<<endl;

	int x = 20, y = 300, z = 1024;
	cout<<x<<' '<<y<<' '<<z<<endl;

	cout.unsetf(ios::dec); //取消十进制输出格式
	cout.setf(ios::showbase | ios::uppercase); //showbase是基指示符,指示进制,uppercase只对于OX大写有效
	cout<<x<<' '<<y<<' '<<z<<endl;
	
	cout.unsetf(ios::showbase | ios::uppercase); //取消showcase和uppercase
	cout.setf(ios::oct); //设置八进制输出格式
	cout<<x<<' '<<y<<' '<<z<<endl;

	cout.setf(ios::showbase | ios::uppercase);
	cout<<x<<' '<<y<<' '<<z<<endl;
	
	cout.unsetf(ios::oct);
	cout.unsetf(ios::showbase | ios::uppercase ); 
	cout.setf(ios::hex); //设置十六进制输出格式
	cout<<x<<' '<<y<<' '<<z<<endl;

	//cout.unsetf(ios::showbase | ios::lowercase ); //lowercase在此处不行
	//cout<<x<<' '<<y<<' '<<z<<endl;

	cout.setf(ios::showbase | ios::uppercase);
	cout<<x<<' '<<y<<' '<<z<<endl;

	cout.unsetf(ios::showbase | ios::uppercase);
	cout.unsetf(ios::hex);
	cout<<x<<' '<<y<<' '<<z<<endl;

	cout<<"----------------"<<endl;
	cout<<x<<' '<<y<<' '<<z<<endl; //按十进制输出
	cout<<oct<<x<<' '<<y<<' '<<z<<endl; //按八进制输出

	cout<<setiosflags(ios::showbase); //设置基指示符 //setiosflags设置
	cout<<x<<' '<<y<<' '<<z<<endl; //仍按八进制输出
	
	cout<<resetiosflags(ios::showbase); //取消基指示符 //resetiosflags取消
	cout<<hex<<x<<' '<<y<<' '<<z<<endl; //按十六进制输出
	
	//设置基指示符和数值中的字母大写输出
	cout<<setiosflags(ios::showbase | ios::uppercase);
	cout<<x<<' '<<y<<' '<<z<<endl; //仍按十六进制输出
	
	//取消基指示符和数值中的字母大写输出
	cout<<resetiosflags(ios::showbase | ios::uppercase);
	cout<<x<<' '<<y<<' '<<z<<endl; //仍按十六进制输出
	
	cout<<dec<<x<<' '<<y<<' '<<z<<endl; //按十进制输出

	return 0;
}

程序运行结果如下:


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

cout的输出格式初探2

#include #include using namespace std; int main() { cout

cout输出格式控制

  • 2012年04月21日 22:57
  • 4.95MB
  • 下载

C++中cout控制输出格式和读写txt文件

标题里面包含了两方面内容,一方面是cout控制输出格式,一方面是读写.txt文件中的数据。平常在代码中用的都挺多的。 这些别的都总结的比较好,下面分别给出其参考链接,并附上自己的常用方式源码。cou...

C++中cout如何输出数值的二进制格式?

二进制的赋值是不行的……             C/C++里面只能支持八、十、十六进制三种 数字型常量。             如果真的需要的话,那么只能靠std::bitset来完成,...

cout的输出格式(转)

如何设置cout的输出格式(转) 编程笔记设置cout的输出格式有两种办法,一种是用cout的成员变量,一种是用里面提供的函数 比如要设置输出的行宽,就有两种方法: #include #in...

关于输出格式的一些总结——cout

关于输出的进制问题:通常情况下使用cout输出,默认输出的是十进制,不管你在源代码里是用什么进制来保存这个数字的。 如果要输出十六进制或者八进制,应该先告诉cout,代码如下:#include "i...

C/C++中printf和C++中cout的输出格式

一、 Printf 输出格式 C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项。各项的意义介绍如下: 1.类型类型字符用以表示输出数...
  • tjunxin
  • tjunxin
  • 2012年11月08日 19:23
  • 12170

cout<<格式输出的使用

控制符是在头文件iomanip.h中定义的对象。 使用前必须把iomanip.h包含进来  1. I/O的书写格式   I/0流是输入或输出的一系列字节,当程序需要在屏幕上显示输出时,可以...

cout如何输出数值的二进制格式?(转载)

cout如何输出数值的二进制格式?coutcout二进制的赋值是不行的……C/C++里面只能支持八、十、十六进制三种。如果真的需要的话,那么只能靠std::bitset来完成了,要使用bitset类就...
  • lwprain
  • lwprain
  • 2011年04月19日 08:03
  • 450

cout格式控制

  • 2017年11月03日 17:00
  • 22KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cout的输出格式初探
举报原因:
原因补充:

(最多只允许输入30个字)