/*今天遇到一些关于文件的知识点
codeblocks16.0里面不支持#include<fstream.h>只有#include<fstream>
使用时要把std包包含在里面(using namespace std),而vc6.0却不能使用这个包
下面是课件上的一些知识点,以后用到的时候再拿出来看看吧*/
#include <fstream>
void main()
{
ofstream SaveFile("example.txt", ios::ate);//发现ate并不能读取到文件的尾部进行输出,还是会把原先的值覆盖掉 app可以实现尾部输出
SaveFile << "That's new!\n";
SaveFile.close();
}
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#include<fstream>
#include<iostream>
using namespace std;
int main( )
{int a[10];
ofstream outfile("f1.txt",ios::out); //定义文件流对象,打开磁盘文件"f1.dat"
if(!outfile) //如果打开失败,outfile返回0值
{
cerr<<"open error! "<<endl;
exit(-1);// 头文件#include <conio.h> #include <stdlib.h>
}
cout<<"enter 10 integer numbers:"<<endl;
for(int i=0;i<10;i++)
{
cin>>a[i];
outfile<<a[i]<<" ";
} //向磁盘文件"f1.dat"输出数据
outfile.close(); //关闭磁盘文件"f1.dat"
return 0;
}
//注意: 在向磁盘文件输出一个数据后,要输出一个(或几个)空格或换行符,以作为数据间的分隔,否则以后从磁盘文件读数据时,10个整数的数字连成一片无法区分。
//词读取
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream inFile; //输入流对象
ofstream outFile; //输出流对象
char ch; //字符变量定义
inFile.open("in.txt",ios::in); //将输入流对象和读入文件建立关联,以文本方式打开
outFile.open("out.txt",ios::app); //将输出流对象和输出文件建立关联
//循环对读入文件逐个字符进行读入,然后写入到输出文件中
while(inFile.get(ch)) //循环到读入EOF--文件结束标记 string s; inFile>>s;(但是 独取不到空格,所以也是逐字读取)
//outFile.put(ch); //逐个字符输出到输出文件
outFile<<ch;
outFile<<endl;
inFile.close(); //关闭文件
outFile.close(); //关闭文件
cout<<"Copy from in.txt fo out.txt Finish!"<<endl;
return 0;
}
//将一个文件的内容逐行字符串拷贝进第二个文件/
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{ ifstream inFile; //输入流对象
ofstream outFile; //输出流对象
char ch[200]; //字符数组
inFile.open("in.txt",ios::in); //将输入流对象和读入文件建立关联,以文本方式打开
outFile.open("out.txt",ios::app); //将输出流对象和输出文件建立关联
//循环对读入文件逐行字符串进行读入,然后写入到输出文件中
while(!inFile.eof()) //循环读入每行直到遇到文件结束
{
inFile.getline(ch,sizeof(ch),'\n');
outFile.write(ch,strlen(ch));
outFile.write("\n",1); //因为getline设置的是遇到回车结束,因此'\n'读不进来,因此需要在输出ch后,再输出一个'\n'来表示行结束
//outFile<<ch<<'\n';可替代上两句
}
/*//另一种逐行读取的方式(可以读取空格)
ifstream inFile( "in.txt" );
string s;
while (getline(inFile,s))
{
outFile<<s<<endl;
}
*/
inFile.close(); //关闭文件
outFile.close(); //关闭文件
cout<<"Copy from in.txt fo out.txt Finish!"<<endl;
return 0;
}
关于文件的一些操作
最新推荐文章于 2022-06-21 15:35:08 发布