c++/oop---文件操作

c++/oop---文件操作

#include <fstream>

 

文件的打开和关闭:

void open (const char * szFileName,int mode)

第一个参数是指向文件名的指针,第二个是文件打开模式标记

模式标记

ios::in (ifstream/fstream)打开文件读取数据。如果不存在则打开出错

ios::out (ofstream/fstream)打开文件用于写入,没有则新建,有则清除原有内容

ios::app (ofstream/fstream)打开文件,用于再其尾部添加数据,不存在则新建

ios::ate(ifstream)将文件读指针指向文件末尾

ios::binary(ifstream/ofstream/fstream) 以二进制方式打开文件。如不指定则以文本形式打开。

ios::in|ios::out (fstream)既能读也能写,文件打开时内容不改变,如果不存在则出错

ios::in|ios::out (ostream)只能写,文件打开时内容不改变,如果不存在则出错

ios::in|ios::out|ios::trunc(fstream)既能读也能写,文件打开时内容不改变,如果不存在则新建 

ios::binary 也可以和其他模式标记组合使用

int main()
{
	ifstream inFile;
	inFile.open("E:\\lkw\\程设\\file\\hi.txt",ios::in|ios::out);
	if(inFile)puts("aaaa"),inFile.close();
	else puts("ERROR");
	return 0;
}

 

指定文件的时候,可以用相对路径,也可以用绝对路径,相对路径从程序所在文件夹算起。

..\\代表上一级文件

 

文本文件的读写

使用文件流对象打开文件后,文件就成为了一个输入流或者输出流

可以用类似 cin 和 cout 的 >> << 进行读写

在程序结束之前要关闭之前打开的文件

一定要,否则文件内容可能会不完整

 

ostream & write (char * buffer , int count)

将内存中 buffer 所指向的 count 个字节的内容写入文件

从文件写指针指向的位置开始写入。文件打开时,文件写指针指向文件的开头(ios::app方式打开则指向末尾)

用 write 函数写入 n 个字节,则指针指向位置向后移动 n 个字节

outFile.write((char*)&s,sizeof(s)) 

将地址强制类型转换为 char* 型

Istream & read (char * buffer , int count)

从读指针指向的位置向后读取count个字节

 

posted @ 2022-03-25 21:22  liankewei123456  阅读(57)  评论(0编辑  收藏  举报