C++标准输入输出应用技巧解析

开发 后端
我们在这篇文章中主要为大家介绍一下C++标准输入输出的格式控制,希望能够给大家带来一些帮助,以方便将来的实际应用。

C++编程语言在实际程序开发中,有很多比较重要的应用技巧需要我们牢固掌握,以方便应用开发,提高编程效率。在这里我们就为大家介绍一下C++标准输入输出的应用技巧,方便大家学习。

◆ 1、数的进制

默认进制:

默认状态下,数据按十进制输入输出。如果要求按八进制或十六进制输入输出,在cin或cout中必须指明相应的数据形式,oct为八进制,hex为十六进制,dec为十进制。

举例:

 

  1. int i, j, k, l;  
  2. cout<<”Input i(oct), j(hex), k(hex), l(dec):”<<endl;  
  3. cin>>oct>>i; //输入为八进制数  
  4. cin>>hex>>j; //输入为十六进制数  
  5. cin>>k; //输入仍为十六进制数  
  6. cin>>dec>>l; //输入为十进制数  
  7. cout<<”hex:”<<i=”<<hex<<i<<endl;  
  8. cout<<”dec:”<<j=”<<dec<<j<<′\t′<<k=”<<k<<endl;  
  9. cout<<”oct:”<<l=”<<oct<<l;  
  10. cout<<dec<<endl; //恢复十进制输出状态 

 

【执行结果】:

(1)输出提示:Input i(oct), j(hex), k(hex), l(dec):

(2)此时从键盘输入: 032 0x3f 0xa0 17 <CR>

(3)输出结果为:

 

  1. hex:i=1a 
  2. dec:j=63 k=160 
  3. oct:l=21 

 

C++标准输入输出操作中几点说明:#t#

使用不带.h的头文件<iostream>时,必须在cin中指明数制,否则从键盘输入时,不认八进制和十六进制数开头的0和0x标志。指明后可省略0和0x标志。

进制控制只适用于整型变量,不适用于实型和字符型变量。

输入数据的格式、个数和类型必须与cin中的变量一一对应,否则不仅使输入数据错误,而且影响后面其他数据的正确输入。

在cin或cout中指明数制后,该数制将一直有效,直到重新指明使用其他数制。

◆ 2、数据间隔

常用设置方法:输出空格符或回车换行符。

指定数据输出宽度:用C++提供的函数setw()指定输出数据项的宽度。setw()括号中通常给出一个正整数值,用于限定紧跟其后的一个数据项的输出宽度。如:setw(8)表示紧跟其后的数据项的输出占8个字符宽度。

举例:

 

  1. int i=2j=3;  
  2. float x=2.6, y=1.8;   
  3. cout<<setw(6)<<i<<setw(10)<<j<<endl;  
  4. cout<<setw(10)<<i*j<<endl;  
  5. cout<<setw(8)<<x<<setw(8)<<y<<endl

 

则输出结果为:

  1. 2 3  
  2. 6  
  3. 2.6 1.8 

 

说明:

如果数据的实际宽度小于指定宽度,按右对齐的方式在左边留空,如果数据的实际宽度大于指定宽度,则按实际宽度输出,即指定宽度失效。

setw()只能限定紧随其后的一个数据项,输出后即回到默认输出方式。

使用setw()必须在程序开头再增加一句: #include<iomanip>

以上就是对C++标准输入输出的相关介绍。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-02-03 15:35:00

C++输入输出汉字

2010-02-06 13:47:08

C++标准扩展

2010-02-06 17:21:20

C++ CreateT

2020-09-04 11:02:47

Java技巧参数

2013-12-12 17:21:46

Lua出入输出

2010-01-27 16:33:07

C++中标准输入

2021-05-07 20:01:23

IO输入输出

2011-11-28 09:25:36

Java输入输出

2010-02-01 11:13:00

C++ Traits

2010-02-06 13:52:39

C++ profile

2021-04-12 15:34:33

C语言printfscanf

2009-12-23 10:57:20

nohup命令

2014-09-04 11:39:43

Linux

2011-07-11 11:05:09

Windows控制台

2009-12-17 11:36:55

Ruby输入输出

2010-02-06 17:09:29

C++文件拷贝

2010-02-04 14:58:06

C++内存分配

2011-04-11 14:29:11

C++输出格式

2010-02-03 16:04:34

C++标准类库

2010-02-05 13:44:06

C++ eof()函数
点赞
收藏

51CTO技术栈公众号