暑期第三次C++课程

C++的cin输入方法(续)

cin>>的输入方式

cin>>两种相等的方式

在这里插入图片描述

空白有哪些

在这里插入图片描述

cin>>a>>b;//这样的输入会跳过缓存区中a前的空格,以及a,b间的空格

例子

可以用来读字符串(以空白为间隔),字符,数字
在这里插入图片描述

  • 值得注意的是,即使第二个cin是char类型,也不会读25后面的空格;
  • 也会跳过前导空格,直到读到非空格字符为止
  • 会将最后一个2的输入,自动转换为float类型,赋值给bill变量
  • 25后的空格是不会被消除的,依然保留在缓存区中

cin.get()

这是用于读字符(空白字符也可以读)==C语言中的get()
存在两种方式

  • char c=cin.get();
  • cin.get(c);//这种方式是没有返回值的

例子

在这里插入图片描述

cin.ignore()

在这里插入图片描述

  • 从输入流 cin 中提取字符,提取的字符被忽略,不被使用。而每抛弃一个字符,它都要进行计数和比较字符:如果计数值达到第一个参数或者被抛弃的字符是第二个参数,则cin.ignore() 函数执行终止;否则,它继续等待。

即:

  • 有两个参数。第一个参数跳过代表跳过多少字符;第二个参数代表跳至哪个字符
  • 以两个参数所指定的最小跳过为准

常用于:
在这里插入图片描述

getline函数

  • 该函数不是cin对象下面的方法,而是< iosteam >中所带有的库函数(C++不是完全封装的,允许函数的存在)

  • getline(cin,message)从标准输入流中读一行字符串(其中可以包含空白,因读取不是由空白符停止,而由换行符停止),换行符会被getline读掉,但是不放入读入的变量中,而只是单纯的将它从缓存区中删去

cout<<setfill(char c)

  • 用来设置setw()的填充字符
  • 不是一次性的,是一直有效的
    在这里插入图片描述

cin.clear()

清除所有<<fixed<<setfill('A')<<之类的设置

文件读写

在这里插入图片描述

  • open可以是绝对路径,也可以是相对路径

  • 在写路径的时候,必须要两个反斜杠

  • 以上是
    ①包含头文件
    ②使用输出/输入类型定义一个输出/输入对象
    ③需要使用文件对象打开相应文件
    ④最后记得通过文件对象关闭文件

  • 输入对象的用法同cin对象的用法‘

  • 输出对象的用法同cout对象的用法

读入失败

在这里插入图片描述

  • 文件输入对象open时,该路径对应的文件不存在或打不开,文件输入对象会被挂起,和这个流(文件对象)的所有操作全部忽略,但是程序不报错!!
  • 如果该输入流读入对应错误,一样挂起,如下所示
int a;
myinfile>>a;//但是对应的文件处却是一个字符串,此时对应错误

输出失败

  • 输出时文件不存在,则会创建一个新的文件
  • 当磁盘满或者输出到不可写的光盘时,则会也会被挂起

使用一个输入的文件名打开文件

动态文件名指定
在这里插入图片描述

  • 需要注意的是,open的参数一定是一个c-风格的字符串

补充

基于文件尾的循环退出条件

注: 当文件流挂起时,文件流对象的值——是false

myfile>>sex>>age;//若读到文件尾,流也会挂起
while(myinFile){
	//一些基于读进来数据的操作
	myfile>>sex>>age;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值