创作内容不易,学习的朋友麻烦关注下博主,后面学习不迷路。有不会的问题也可以论坛咨询博主,博主也会及时回复~~
计算机操作系统要以某种方式判断文件的开始和结束
字符标记文件结尾:在文件末尾放一个特殊的字符标记文件的结尾。在大多数UNIX和Linux系统中,在一行开始处Ctrl+D读取文件结尾信号。许多微信计算机系统都把一行开始处的Ctrl+Z标识为文件结尾信号
存储文件大小的信息:比如文件有3000字节,程序在读到3000字节是便达到文件的末尾。MS-DOS及其相关系统使用这种方法处理二进制文件,因为用这种方法可以在文件中存储所有的字符
目录
目录
1.cin.fail()函数识别EOF
而在C++,我们利用cin来检测EOF。如果检测到EOF后,cin将eofbit和failbit都设置为1.可以通过成员函数fial()来读取这两个位的情况。如果eofbit和failbit都设置为1,fail()函数将返回true,否则返回false
我的系统只能识别在开头的Ctrl+Z。
2.cin.get()返回EOF
cin.get()能够返回一个字符值,而EOF返回的一个特殊的字符值,它对应-1这个字符值。
如果你这里无法结束,其实这里是因为EOF表示的不是有效字符编码,因此可能不予char类型兼容。比如在有些系统中,char类型是没有符号的,因此char变量不可能为EOF值(-1)。比如我转换为unsigned char类型就无法识别EOF了,所以会报错。
针对这种情况,只需要将返回值赋给int变量(或者直接转换澄sigend char就好了)
转换成int需要注意一点,就是如果在打印的时候不进行强制转换成char就会打印成对应字符数字
这个使用可以选择强制类型转化
3.cin.get(char类型变量)
达到文件尾时函数的返回false
我们今天的内容到这就结束了,今天的内容到这里就结束了,如果有啥不会的朋友记得论坛里面提问哈~
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈