VC中文件操作的几种方式(1,2) |
您所在的位置:网站首页 › fopen文件打开方式 › VC中文件操作的几种方式(1,2) |
第6章 使用文件存取对象 文件可以用来存储一张《清明上河图》,一曲《春江花月夜》,当然也可以存储一部《红楼梦》,文件的内容依赖于应用程序来解释。几乎所有的操作系统都通过文件的界面允许用户保存、管理数据。所以,我们理所当然把文件当做数据存取介质的第一选择。 6.1 文件操作的几种方式 操作计算机的人都会接触到文件,文件的操作通常包括文件的读取、修改,有的时候我们还需要对文件进行外部管理,包括文件复制、删除及属性设置等。 6.1.1 使用CRT函数std::fxxx() 文件操作可以采用C语言运行时期库来完成,CRT提供的fxxx()函数如表6-1所示。 表6-1 CRT文件操作函数 函数 含义 fopen 打开指定文件名的文件 fread 从文件中读取指定长度的数据 fwrite 向文件中写入指定的数据 fclose 关闭文件 feof 判断是否达到文件结尾 fgetc 从文本文件中读取一个字符 fgets 从文本文件中读取一个字符串 fputc 向文本文件中写入一个字符 fputs 向文本文件中写入一个字符串 当我们打开、创建一个文件时,常常需要调用fopen()函数,该函数的原型为: FILE *fopen( const char *filename, const char *mode );参数解释 filename:指定文件的文件名,如test.out。 mode:指定文件的操作方式,如表6-2所示。 表6-2 fopen文件操作方式 标志 含义 r 读模式,如果文件不存在则会失败 w 写模式,如果文件已存在则会清空其内容 a 追加模式,写入的内容追加在原有内容之后, 如果文件不存在则会自动创建 r+ 读写模式(文件必须存在) w+ 读写模式,如果文件已存在则会清空其内容 a+ 读+追加模式 t 文本方式 b 二进制方式 ccs=ENCODING 文件编码方式,可指定ENCODING 为 UTF-8、UTF-16LE、UNICODE 文件的操作方式可以是如上标志的组合,如:r+b。当采用"ccs=ENCODING"时,我们需要在前面添加一个","作为分隔。如我们以读写方式、UNICODE编码打开某个文件: fopen("newfile.txt", "rw, ccs=UNICODE");如下罗列出使用CRT函数进行文件操作的流程。 使用fopen()创建、打开文件,返回一个文件指针FILE *; 以FILE *作为参数,调用fread()、fwrite()等操作函数完成对文件的读写。fread()、fwrite()函数的原型为: size_t fread( void *buffer, size_t size, size_t count, FILE *stream ); size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );调用fclose()关闭文件指针。 使用CRT操作文件流程如图6-1所示。
![]() 6.1.2 使用标准C++库std::fstream 标准C++操作文件主要是通过文件流fstream来完成的。文件输入/输出流用以实现文件读取和存储的操作,这种基于流的文件操作如图6-2所示。 ![]() 和文件有关系的输入/输出类主要在头文件中被定义。在这个头文件中主要定义了3个类。由这3个类控制对文件的各种输入/输出操作,它们分别是ifstream、ofstream、fstream。其中fstream类是由iostream类派生而来的,它们之间的继承关系如图6-3所示。 如果需要使用fstream,则需要包含头文件,与iostream不同的是,fstream需要和指定的文件名相关联,如: ofstream out("test.out"); out |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |