C++之读写文件的常用操作

头文件

C++中与文件输入输出相关的函数定义在头文件 <fstream>

<fstream>

读写类型

fstream中定义了三个类型来支持文件的读写,分别是

ifstream从一个给定文件中读取数据
ofstream向一个给定文件写入数据(若文件不存在就创建它)
fstream读写给定文件

常用操作

假设创建一个未绑定的文件流:fstream fstrm;有如下常用操作

fstrm>>n将文件中的数据读入n
fstrm<<n将n所存放的数据写入文件
fstrm.open(s)打开名为s的文件,并将文件与fstrm绑定。
fstrm.is_open()返回一个布尔值,指出与fstrm绑定的文件是否成功打开且尚未关闭
fstrm.close()关闭与fstrm绑定的文件。
fstrm.eof()返回一个布尔值,判断是否到达文件尾。(在文件指针时使用)

代码示例

#include<iostream>
#include<fstream>	//引入头文件 
using namespace std;

int main(){
//	创建一个fstream对象 
	fstream infile;
//	打开文件 
	infile.open("test.txt");	

//	当文件成功打开是输出yes,否则输出wrong 
	if(infile.is_open())
		cout<<"yes"<<endl;
	else
		cout<<"wrong"<<endl;

//	关闭文件 
	infile.close();
	
	return 0; 
}

注意

可以将创建文件流对象和打开文件合并为一行代码,即

//	创建一个fstream对象 
	fstream infile;
//	打开文件 
	infile.open("test.txt");

可用如下代码等效替换

// 创建一个fstream对象并将其与test.txt文件相关联
fstream infile("test.txt");

文件打开常用模式

ios::in只读
ios::out只写
ios::app从文件末尾开始写,防止丢失文件中原来就有的内容
ios::truc打开文件并清空内容

代码示例

#include<iostream>
#include<cstring>
#include<fstream>	//引入头文件 
using namespace std;

int main(){
//	以只写模式打开文件 
	ofstream outfile("test.txt",ios::out);
	string tmp;
//	以行为单位连续读入字符串并将内容写入test.txt中,按ctrl+z结束读入
	while(getline(cin,tmp)){
		outfile<<tmp;
		outfile<<endl;
	}
	outfile.close();

//	以只读的模式打开文件 
	ifstream infile("test.txt",ios::in);
//	以行为单位连续从文件读入字符串并将内容输出 
	while(getline(infile,tmp)){
		cout<<tmp<<endl;
	}
	infile.close();
	
	return 0;
}

运行结果

 

 

参考于:C++读写TXT文件中的string或者int型数据以及string流的用法

               《C++ Primer》 文件输入输出(P283)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值