C++基本函数

e.g.          作用——函数——函数所属文件

1.设置浮点数的精度——setprecision(n) ——<iomanip>

n代表有效数位,包括整数和小数的位数。

使用后将其后所有数值精度改变,直到再次使用此函数改变精度为止。

2.设置输出域宽和对齐方式——setw(n)——<iomanip>

n是输出数据占用屏幕宽度的字符数,默认为右对齐。

若输出的数据实际位数比n大,则输出的数据将自动扩展到所需占用的列数。

setw()只对紧随其后的一个输出数据有效。

3.设置对齐方式——(+re取消)setiosflags(long f)——<iomanip>

区域内的动作:

iso::fixed 是操作符setiosflags 的参数之一,该参数指定的动作是以带小数点的形式表示浮点

数,并且在允许的精度范围内尽可能的把数字移向小数点右侧;

iso::right 也是setiosflags 的参数,该参数的指定作用是在指定区域内右对齐输出;(iso::left亦然)(两者属于<iostream>)

setprecision 也是包含在命名空间iomanip 中的C++ 操作符,该操作符的作用是设定浮点数;

setprecision(2) 的意思就是小数点输出的精度,即是小数点右面的数字的个数为2。

cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2);

合在一起的意思就是,输出一个右对齐的小数点后两位的浮点数。

4.为变量输入空白字符问题

(1)用get()函数输入空白字符

用法 :cin.get(char c);//or getchar()

(2)用getline()函数输入包含空白的长字符串

getline()函数一次读取一行的字符,其用法如下:

cin.getline(char *c,int n,char ='\n');

c是保存输入数据的数组;n是要提取的字符的个数,指示从输入流中读取n-1个字符到数组c中(系统会在第n个位置填写结束符‘\0');第三个参数用于指定停止从输入流中提取数据的结束符(默认结束分隔符为‘\n',可以在此指定其他的结束字符)

getline()的两种结束方法:1)输入流中的字符个数多于getline()指定的个数,即读够了n-1个字符;

                                        2)虽然没有读够n-1个字符,但遇到了指定的结束符号。

getline()函数没有读取输入数据就结束的问题根源及解决方案:

(1)根源:当输入流中的字符多于getline()指定接收的字符个数时,getline()将把余下的字符留在输入流中,同时会设置输入失效位,并关闭输入。也就是说,此getline()命令之后的所有cin语句都失效,不会再被执行了。

(2)解决方案

  1)getline()函数第二个参数设置一个更大的数字;

  2)先调用cin对象的clear函数,将设置为失效的输入位重新设置为有效。其后调用cin对象的ignore()函数,忽略残留在输入流中的多余字符。

   用法:cin.clear();

              cin.ignore();//忽略一个字符

       or    cin.ignore(1024,'\n');//忽略1024个字符,或遇到回车字符就结束         

      原型:cin.ignore(int nCount = 1, char delim = EOF)

     nCount是忽略掉的字符个数,默认为1,delim可以指定结束符的位置,默认值为EOF。结束方式:一超,二结束符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值