c++中fstream类对文本文件的操作-阿里云开发者社区

开发者社区> 开发与运维> 正文

c++中fstream类对文本文件的操作

简介: #include #include #include using namespace std; //追加方式写文件 void writefile() { fstream f("try.
#include <iostream>
#include <string> 
#include<fstream>
using namespace std;
//追加方式写文件
void writefile()
{
	fstream f("try.txt",ios::out|ios::app);
	if(!f){
    cout<<"File open error!\n";
    return;
	}
	f<<123<<" "<<456<<" "<<"my name is aa\n";
	f.close();
}
//读取文件
void readfile()
{
	fstream f("try.txt",ios::in);
	if(!f){
    cout<<"File open error!\n";
    return;
	}
	int a,b;
	char s[20];
	while(1)
	{
		a=0;b=0;
		s[0]=0;
	 f>>a>>b;
	 f.getline(s,20);
	 if(a==0) break;//循环读取数据,没有数据时退出
	 cout<<a<<" "<<b<<" "<<s<<endl;
	}
	f.close();
	
}
///复制文件二进制数据
void copybinary()
{
	ifstream fin("try1.txt",ios::in|ios::binary);
  if(!fin){
    cout<<"File open error!\n";
    return;
  }
  ofstream fout("try2.txt",ios::out|ios::binary);
  char c[1024];
  int count=0;
  while(!fin.eof())
  {
    fin.read(c,1024);
	count=fin.gcount();
	for(int i=0;i<count;i++)
	{
		c[i]=255-c[i];//字节取反,可以实现程序加密,让别人打不开,自己知道哪个字节少了多少,再还原
	}
    fout.write(c,count);
  }
  fin.close();
  fout.close();
  cout<<"Copy over!\n";
}

int main()
{


	/*writefile();
	readfile();*/
	copybinary();
	return 0;
}

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章