【C++文件流】系统的研究一下

首先,

需要加<fstream>头文件。(即file stream)


在包含这个头文件后,可使用三种类:

ofstream  写文件  (Output File Stream)  使用方法: 文件名<<内容<<endl;

ifstream   读文件 (Input File Stream)  使用方法:文件名>>内容;

fstream  打开文件供读写  (File Stream) 利用各种参数达到控制文件读写的目的


每个类都有相同的两种函数功能:

X.open("String");   //String为路径,也可以string str;X.open(str);(用string类,没有引号,但是string本身内容里最后4个单位应为.txt)

如果用fstream创建文件 必须加Ios::out.

X.close();

同一时间,同一文件只能由一种类进行操作。若需要换,必须先将此类指针关闭,再用需要的类的指针Open目标文件。


重点在fstream的使用:

fstream的open函数的参数定义了文件的打开模式。总共有如下模式:


ios::in
ios::out
ios::app 从文件末尾开始写
ios::binary       二进制模式
ios::nocreate 打开一个文件时,如果文件不存在,不创建文件。
ios::noreplace 打开一个文件时,如果文件不存在,创建该文件
ios::trunc 打开一个文件,然后清空内容
ios::ate 打开一个文件时,将位置移动到文件尾

使用方式为:

file.open("file.ext",iso::in|ios::out)

1.默认模式是文本

2.默认如果文件不存在,那么创建一个新的

3.多种模式可以混合,用|(按位或)

4.文件的byte索引从0开始。(就像数组一样)


常用的错误判断方法:
good() 如果文件打开成功
bad() 打开文件时发生错误
eof() 到达文件尾


文件指针的使用:

相关函数:

seekg()          tellg()

seekp()          tellq()


以g结尾的,处理get指针(ifstream),以p结尾的,处理put指针(ofstream)

seekg/p(X,INF);

X为一个数,可为正可为负,INF为一个参数,该参数可为以下:

ios::beg 文件头
ios::end 文件尾
ios::cur 当前位置

整个函数表示将指针从INF处,移动X个单位。

例:seekg(-1,ios::end);表示把指针从文件尾向前移动一个字节。


tellg/p() //返回一个数,表示此时指针所在的位置。


#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
	ofstream Write;
	Write.open("C:\\text.txt");
	Write<<"Yeah!"<<endl<<"B"<<endl;
	Write.close();

	ifstream Read;
	char str1[20];
	Read.open("C:\\text.txt");
	Read>>str1;
	cout<<str1<<endl;
	Read.close();
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值