C++文件操作

来源:百度知道 编辑:UC知道 时间:2024/07/01 01:06:54
#include <iostream>
#include <fstream>
using namespace std;

int main() //文本形式读写文件
{
char ch;
cout<<"open file"<<endl;
ifstream fin("F: \\a.txt");
if(!fin)
{
cout<<"can not open infile!"<<endl;
//return;
}
ofstream fout("F: \\a.txt");
if(!fout)
{
cout<<"can not open outfile!"<<endl;
//return;

}
while(fin.get(ch))
{
cout<<ch;
if(fout)
fout.put(ch);
}
fin.close();
fout.close();
return 0;

}

拜托帮我看下这个代码,为什么不能正常读取指定目录下的文件

还有一个问题是为什么它在执行时,指定要读取的文件夹的内容突然所有的数据都丢失。此外取某个文件中的内容的步骤是怎样的,麻烦具体点,1.创建ifstream对象,第2,3,。。步呢?
请问,ifstream是不是将文件中的东西读到内存中,以致文件内容全部丢失,对吗?

输入输出 上面用的是两个文件流对象,一个输入一个输出,如果你输入流打开了一个文件,在这个输入流没有关闭前,其他文件流是不可以用它的。如果你关闭了。其他文件就可以打开了。
也就说,输入输出可以用相同的文件名。只是你要关闭以后,后面才可以用。
下面程序我修改了。
#include <iostream>
#include <fstream>
using namespace std;

int main() //文本形式读写文件
{
char ch;
cout<<"open file"<<endl;
ifstream fin("F:\\a.txt");
if(!fin)
{
cout<<"can not open infile!"<<endl;
//return;
}
fin.close();
ofstream fout("F:\\a.txt");
if(!fout)
{
cout<<"can not open outfile!"<<endl;
//return;

}
while(fin.get(ch))
{
cout<<ch;
if(fout)
fout.put(ch);
}
fin.close();
fout.close();
return 0;

}
可以用相同的文件名。
至于你说的步骤。1.创建ifstream对象;2 对象打开文件,也就是为文件流指定文件。3.通过ifstream对想对文件操作。4.关闭流对象。
不明白hi我。
读入文件到内存不会使文件流失。

<