C++输入输出问题

cin>>数字:

1. 工作过程
与键盘敲击无关,键盘敲击的数字或字符存入缓冲区。>>符号是cin函数从缓冲区读取数据的意思。具体读取的是啥,由>>后面接的数据类型决定。
2. 终止条件
遇到tab,space,enter停止

while (cin >> a>>b)
{
}
//会一直测试输入流是否正常,如果输入流正常,就会继续循环,如果输入流错误(enter/space/tab),或者达到文件末尾(在windows下Ctrl+Z,在Linux下Ctrl+D),循环就会终止。

iomanip这个头文件包含了对输入输出的限定。 setprecision(n) 设显示小数精度为n位
如果不加fixed就是e的-n次方。

cout <<fixed<<setprecision(2)<< n;

cin>>字符串:

1. C语法:

       char buf[20];   
       gets(buf); 

2. C++语法:
如果用string buf 来保存:getline( cin , buf );
如果用char buf[ 255 ] 来保存:
cin.getline( buf, 255 );`

cin>>buf;//输入字符串,遇到空白符终止。

3. 说明
① C语言:
scanf(“ %s%s”,str1,str2),在多个字符串之间用一个或多个空格分隔;
gets函数,应为gets(str1); gets(str2); 字符串之间用回车符作分隔。
通常情况下,接受短字符用scanf函数,接受长字符用gets函数
而getchar函数每次只接受一个字符,经常c=getchar()这样来使用。

②C++:
getline 用于string,默认以回车作为结束符。
getline(cin , string,“hahaha“):自定义以hahaha作为结束符。
getline( cin , buf,... );输入字符串存在buf中。

cin.getline用于数组,默认以回车作为结束符。
char name[4];
cin.getline(name,sizeof(4));
cout <<"your name is :" <<name<<endl;

结合后两个参数,getline可以方便地实现: 用户最多输入指定个数的字符,如果超过,则仅指定个数的前面字符有效,如果没有超过,则用户可以通过回车来结束输入。
由于 endchar 默认已经是 ‘\n’,可省略。

cin>>str默认以回车、空格作为结束符。

cin.getline() 与 cin>>str 的一个不同是,前者输入一行,行中可以包含空格,后者却以空格或回车作为字串结束,不包含空格。

letter =cin.get();与cin>>letter 都是从输入流中取一个字符,但却有区别,默认情况下,cin>>letter将跳过任何在文件中发现的任何空白字符(空白字符指空格, tab,backspace,回车) .而cin.get不跳过空白字符。


用字符数组保存字符串
1.char string1[]=”first”;
等价于char string1[]={‘f’,’i’,’r’,’s’,’t’,’\0’};
2.可以利用cin>>输入字符串,遇到空白符终止。

char string1[20];//最多容纳19个字符
cin>>string1;//且在末尾自动填充’\0’

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值