C++顺序文件操作中有关文件的读写

来源:百度知道 编辑:UC知道 时间:2024/05/26 02:58:23
这个程序应该很简单,但是有一个地方有点糊涂了。
程序中定义了char ch;后面跟了一个while(!file1.eof()),谁可以详细的帮我解释一下这个while()的条件为什么是(!file1.eof())。越详细越好···
#include"iostream.h"
#include"fstream.h" //文件操作必须的头文件
void main()
{
fstream file1; //定义一个fstream类的对象用于读
file1.open("Ex_DataFile.txt",ios::in);
if(!file1)
{
cout<<"Ex_DataFile.txt不能打开!\n";
return;
}
fstream file2; //定义一个fstream类的对象用于写
file2.open("Ex_DataFileBack.txt",ios::out|ios::trunc); //若文件存在清除原有的内容
if(!file2)
{
cout<<"Ex_DataFileBack.txt不能创建!\n";
file1.close();
return;
}
char ch;
while(!file1.eof())
{
file1.read(&ch,1);
cout<<ch;
file2.write(&ch,1);
}
file2.close(); //文件使用结束后,及时关闭
file1.close();
}
不甚感谢!

(!file1.eof()).. 没分啊!。。。还是答了吧!
while(a)a为非0则成立!反之则不成立!
!file.eof 判断文件是否到最后了..就是判断是否读完了!读完了就返回1!没读玩就返回0!
!//取反
如果是1去反后就是0啦!
0取反就是非零啦!

选我吧!

file.eof() 用于测试文件是否到达末尾,到达末尾就返回1;否则返回0;
while(!file.eof())表示如果文件没有到达文件尾部,就运行循环体。因为是对文件的操作,所以如果到达文件尾部就无法再操作了。