c++文件流基本用法(ifstream, ostream,fstream)

清泛原创

需要包含的头文件: <fstream>,名字空间: std。

fstream提供了三个类,用来实现c++对文件的操作(文件的创建,读写):

ifstream -- 从已有的文件读
ofstream -- 向文件写内容
fstream - 打开文件供读写

支持的文件类型可以分为两种: 文本文件和二进制文件。

文本文件保存的是可读的字符, 而二进制文件保存的只是二进制数据。利用二进制模式,你可以操作图像等文件。用文本模式,你只能读写文本文件。否则会报错。

例一: 写文件

#include <fstream.h>

void main
{
	ofstream file;

	file.open("file.txt");		

	file<<"Hello file/n"<<75;		

	file.close();				
}

例二:  读文件

#include <fstream.h>

void main
{
	ifstream file;
	char output[100];
	int x;

	file.open("file.txt");

	file>>output;		
	cout<<output;		
	file>>x;			
	cout<<x;			

	file.close();		
}

上面所讲的ofstream和ifstream只能进行读或是写,而fstream则同时提供读写的功能。

void main()
{
	fstream file;
	file.open("file.ext",iso::in|ios::out)
	//do an input or output here
	file.close();
}

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

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

Notes

  • 默认模式是文本
  • 默认如果文件不存在,那么创建一个新的
  • 多种模式可以混合,用|(按位或)
  • 文件的byte索引从0开始。(就像数组一样)

我们也可以调用read函数和write函数来读写文件。可参见:
https://www.tsingfun.com/it/cpp/all_programming_language_file_read_write_summary.html#C

c++ 文件流 ifstream ostream fstream

分享到:
评论加载中,请稍后...
创APP如搭积木 - 创意无限,梦想即时!
回到顶部