关于文件的一些操作

/*今天遇到一些关于文件的知识点
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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值