我是靠谱客的博主 大方大树,最近开发中收集的这篇文章主要介绍cin简介,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

整数的基数:

Dec(十进制)

Oct(八进制)

Hex(十六进制

 

设置基数的函数 setbase(int n),n可以是108、或16

如果不明确的改变流的基数,流的基数是不变的。

 

 

 

设置浮点数精度:

setprecision (必须带参数)

precision (无参数时返回当前设置的精度)

设置后,对以后的输出都有效。

 

 

#include<iostream.h>

#include<ctype.h>

#include<iomanip.h>

#include<math.h>

 

intmain()

{

      double root2=sqrt(2.0);

      int place;

 

      cout<<setiosflags(ios::fixed)

             <<"Square root of 2 with precisions0-9n"

             <<"precision se by the"

             <<"precision memberfunction:"<<endl;

 

      for(place=0; place<=9; place++)

      {

             cout.precision(place);

         cout<<root2<<endl;

      }

 

      cout<<"precision now is:"<<cout.precision()<<endl;

 

      for(place=0; place<=9; place++)

      {

             cout<<setprecision(place)<<root2<<endl;

      }

 

//    cout<<"precision now is:"<<setprecision()<<endl; 

 

      

      return 0;

 

}

 

 

设置域宽

如果所需的宽度比设置的域宽小,空位用填充字符填充。如果显示数据所需的宽度比设置的域宽大,系统输出所有位。域宽设置仅对下一行流读入或流插入抄做有效,在一次操作完后被置0

Setw

Width输入操作提取字符串的最大宽度比定义的域宽小1,这是因为在输入的字符串后面必须加上一个空字符。

 

#include<iostream.h>

#include<ctype.h>

#include<iomanip.h>

 

int main()

{

      int w=4;

      char str[10];

 

      cout<<"Enter asentence:n";

 

      cin.width(5); //每次只接收4个字符,其他的放在流中等待接收。

      

      while( cin>> str )

      {

             cout.width(w++); //4个字符输出,设置每次输出的域宽增加1

             cout<<str<<endl;//输出字符

             cin.width(5);   //设置接收4个字符

      }

 

      return 0;

 

}

输入输出情况:

Enter a sentence:

happy new year

happ

   y

   new

   year

^Z

先输出happ(四个字符),y留在下一次。遇到空格接收结束,第二次只有y,到y输出时,输出域宽是5。下一个接收的是new(后面的空格断开了接收),……

 

对齐(ios::left,ios::right,ios::internal

默认是右对齐

Internal: 标示一个数的符号位左对齐,数值右对齐。

设置leftrightinternal时,setf的第二个参数必须是ios::adjustfield

 

设置填充字符(fillsetfill

空格是默认的填充字符。Fill函数返回以前设置的填充字符。

 

 

整数流的基数(ios::dec ios::oct  ios::hex  ios::showbase

Showbase强制输出整数值的基数。ios::uppercase 决定是0x还是0X

 

#include<iostream.h>

#include<iomanip.h>

 

int main()

{

      int x=100;

      

      cout<<setiosflags(ios::showbase |ios::uppercase)

             <<x<<'n'

             <<oct<<x<<'n'

             <<hex<<x<<endl;

      return 0;

 

}

 

 

浮点数和科学记数法(ios::scientific  ios::fixed

secientific标志使浮点数按科学记数法输出。

fixed标志使浮点数按照定点格式输出,显示小数点及后面的位数(位数的指定由precision决定,若没设置,则按默认-小数后6位)。

 

 

设置及清除格式标志(flags setiosflags resetiosflags

无参数的flags只返回格式标志的当前设置(long型)。带一个long参数的flags按参数的指定格式设置标志,返回以前的标志设置。

coutsetf成员函数有两种写法:

1. cout.setf(long)

2. cout.setf(long  a, long  b)

aios::leftios::right ios::internal 那么b对应ios::adjustfield

aios::oct ios::hex ios::dec        b对应ios::basefield

aios::scientific  ios::fixed         b对应ios::floatfield

 

 

 

错误流状态

当流中发生格式错误时,设置failbit

当发生导致数据丢失错误时,设置badbit

如果eofbitfailbitbadbit都没有设置,则设置goodbit

成员函数rdstate返回流的错误状态。

成员函数clear把一个流的状态恢复为“好”,如:

cin.clear()

清除 cin ,并为流设置 goodbit
转自:
http://www.programfan.com/blog/article.asp?id=11046

最后

以上就是大方大树为你收集整理的cin简介的全部内容,希望文章能够帮你解决cin简介所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部