文件部分-----(2)ASCII码文件读操作------------利用函数实现
来源:互联网 发布:网络歌手阿刚 编辑:程序博客网 时间:2024/05/21 08:43
/*当你要两次用一个输入流的时候用fin打开第一个文件,然后对文件内容处理,当你结束使用该输入流时,流被设置了eof或者fail,eof为end of file(文件结束符),fail为可恢复错误状态。fin.open(file1);while(fin >> temp){//do some thing}跳出循环,即是遇到输入错误或者文件结束符。此时流状态被设置为eofbit或者failbitfin.close()只关闭该流对文件的关联,并不清除错误状态。fin.clear()就做这个工作! */#include <iostream>#include <fstream>using namespace std;//将文件流关联的文件内容输出到屏幕上void read(ifstream & T) //输入文件流以引用作为参数 ,因为流对象不能拷贝{ char ch; if(!T) { cout<<"文件打开有误"<<endl; return ; } while(!T.eof()) { T.get(ch);cout<<ch; } cout<<"文件读取结束"<<endl; cout<<"--------------"<<endl;}int main(){ ifstream inFile("file1.txt"); read(inFile); inFile.close(); inFile.clear();//清除错误状态,此非常重要,如无此句,第二次打开文件时,会出错 inFile.open("file2.txt"); //注意,不用创建流对象,只需更改该文件流对应的文件 read(inFile); inFile.close(); return 0;}
程序运行前,file1.txt 和file2.txt已存在,并且有内容
程序运行结果
要注意的问题
(1) 流对象不能拷贝,依次流对象作为参数时,要用引用,否则运行时会报错
(2)
当你要两次用一个输入流的时候
用fin打开第一个文件,然后对文件内容处理,当你结束使用该输入流时,流被设置了eof或者fail,
eof为end of file(文件结束符),fail为可恢复错误状态。
fin.open(file1);
while(fin >> temp){
//do some thing
}
跳出循环,即是遇到输入错误或者文件结束符。
此时流状态被设置为eofbit或者failbit
fin.close()只关闭该流对文件的关联,并不清除错误状态。
fin.clear()就做这个工作!
如果上例中我们将
inFile.clear(); 注释掉
/*当你要两次用一个输入流的时候用fin打开第一个文件,然后对文件内容处理,当你结束使用该输入流时,流被设置了eof或者fail,eof为end of file(文件结束符),fail为可恢复错误状态。fin.open(file1);while(fin >> temp){//do some thing}跳出循环,即是遇到输入错误或者文件结束符。此时流状态被设置为eofbit或者failbitfin.close()只关闭该流对文件的关联,并不清除错误状态。fin.clear()就做这个工作! */#include <iostream>#include <fstream>using namespace std;//将文件流关联的文件内容输出到屏幕上void read(ifstream & T) //输入文件流以引用作为参数 ,因为流对象不能拷贝{ char ch; if(!T) { cout<<"文件打开有误"<<endl; return ; } while(!T.eof()) { T.get(ch);cout<<ch; } cout<<"文件读取结束"<<endl; cout<<"--------------"<<endl;}int main(){ ifstream inFile("file1.txt"); read(inFile); inFile.close(); //inFile.clear();//清除错误状态,此非常重要,如无此句,第二次打开文件时,会出错 inFile.open("file2.txt"); //注意,不用创建流对象,只需更改该文件流对应的文件 read(inFile); inFile.close(); return 0;}
会出现以下运行结果,读取第二个文件时,会出现错误
- 文件部分-----(2)ASCII码文件读操作------------利用函数实现
- 文件部分-----(1)ASCII码文件读写操作
- 部分文件操作函数
- 利用POSIX文件函数部分实现linux中的cp功能
- C语言-文件操作函数(部分)
- 文件部分-----(3)ASCII码文件读写操作----将学生信息写入到文件中,再从文件中读取信息
- ASCII文件操作
- php关于文件操作的部分函数
- ASCII文件ASCII File)
- 对ASCII文件的操作
- 对ASCII文件的操作
- 利用WINDOWS API函数操作文件(CreateFile、ReadFile 、MultiByteToWideChar)
- 利用WINDOWS API函数操作文件(CreateFile、ReadFile 、MultiByteToWideChar)
- 文件操作与ASCII文件流
- c++ 利用boost 实现文件操作
- 利用temp文件实现原子操作
- c++ 利用boost 实现文件操作
- PB利用API-SHFileOperation 文件操作函数 实现多文件及文件夹的删除复制等操作
- mysql MHA高可用方案介绍
- 系统需求带宽计算
- java 学习3
- 清除XCode缓存和生成文件
- 商品导航--仿电器网上商城导航jquery代码
- 文件部分-----(2)ASCII码文件读操作------------利用函数实现
- 设计模式——小单例有大秘密
- 串
- vim 输入状态 上下左右键 失灵
- 2003+IIS6.0 无法找到该页
- Get the IP address of a network interface in C using SIOCGIFADDR
- jquery+ajax(2)
- 计算机科学中最重要的32个算法
- 润乾--离线填报功能