关于文件的一些操作

来源:互联网 发布:域名分为几部分 编辑:程序博客网 时间:2024/05/17 06:56
/*今天遇到一些关于文件的知识点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;}