栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

文件操作函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

文件操作函数

1.什么是文件

文件通常是在磁盘或固定硬盘上的一段已命名存储区

文件内容有文本文件,和二进制文件,文本文件是直接将字符串写入文件或从文件中读取字符串,二进制是以二进制模式写入文件,并以二进制模式读取文件

12345通过文本哦是写入就是字符串12345,通过二进制写入就是12345的二进制

在程序设计中,一般谈的文件分为程序文件和数据文件

2.文件操作函数
FILE *

是一个文件指针,FILE是一个结构体类型,包含了文件的一些信息,通过文件指针可以找到文件的地址,对文件进行操作

1.FILE * fopen(文件名, 打开方式)

fopen()函数第一个参数为要打开的文件名,第二个参数为以什么格式打开文件,是一个字符串,打开失败会返回空指针

"r"

以读打开

"w"

以写的方式打开,把现有文件清空,若没有该文件,则创建文件

"a"

以写的模式打开,在现有文件后面追加内容,若没有该文件,则创建文件

"r+"

以更新模式打开文件(可以读写文件)

"w+"

以更新模式打开文件,文件存在则将其清空,不存在就创建一个

"a+"

以更新模式打开,在现有文件末尾添加内容,文件不存在则新建一个,可以读整个文件

"rb"、"wb"、"ab"、"rb+"、"r+b"、"wb+"、"w+b"、"ab+"、"a+b"

与上一个类似,二进制模式打开

"wx"、“wbx”、"w+x"、"wb+x"、"w+bx"

类似非X模式,但是如果文件存在或以独占模式打开文件,则打开文件失败

2.char getc(FILE *)

从文件中读取一个字符

3.putc(char, FILE */stdout)

将字符输出到文件中或标准输出

4.fclose(FILE *)

关闭文件

5.fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)

第一个参数为文件指针,后面两个参数和printf()函数完全相同,将后面的内容以一定格式输出到文件中

FILE *fp;
char words[40];
fprintf(fp, "40s%", words);

将words的内容以40s%的格式输出到fp所指向的文件中

6.int fscanf (FILE *__restrict __stream,const char *__restrict __format, ...)

第一个参数为文件指针,将文件的内容以固定格式输出到字符数组中

FILE *fp;
char words[40];
fscanf(fp, "%s", words);

将fp指向的文件中的字符串写入字符数组words中

7.fgets(char *, int n, FILE *)

从文件中读取字符串,直到第一个换行符,或读到n-1个字符或读到文件结尾结束,将其存到第一个参数所指向的字符数组中

8.fputs(char *, FILE *)

将第一个参数指向的字符串输出到第二个参数指向的文件中

9.int fseek (FILE *__stream, long int __off, int __whence);

文件的随即访问,第一个参数文件指针,指向待查找文件,第二个参数为偏移量,表示距起点的距离,第三个参数用来确定起点,可以是SEEK_SET(文件开始处),SEEK_CUR(当前位置),SEEK_END(文件末尾)

10. long int ftell (FILE *__stream) ;

返回参数指向的文件的当前位置距离文件开始位置处的字节数

11.int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);

文件内容可能超过long所表示的范围,所以出现了fgetpos()函数,他将距离起点的字节放在第二个参数指向的内存上,
fpos_t为文件定位类型,根据其他类型定义的
如果成功找到距离起点字节返回0,否则返回非0

11.int fsetpos (FILE *__stream, const fpos_t *__pos);

使用pos指向位置上的fpos_t类型值来设置文件指针指向偏移该值后制定的位置,成功返回0,否则返回非0

12.int ungetc (int __c, FILE *__stream);

把c制定的字符放入输入流中,下次调用标准输入函数时将读取该字符

13.int fflush (FILE *__stream);

刷新缓冲区,将输出缓冲区中未写入的数据发送到__stream指定的文件中,如果__stream为空指针,则刷新所有缓冲区。

14.int setvbuf (FILE *__restrict __stream, char *__restrict __buf,int __modes, size_t __n) __THROW;

创建一个供I/O函数替换使用的缓冲区。打开文件且为对流进行操作前,调用该函数__stream识别待处理的流,buf指向待使用的缓冲区。

15.ize_t fwrite (const void *__restrict __ptr, size_t __size,size_t __n, FILE *__restrict __s);

以二进的方式写
__ptr时一个指针,__ptr指向的内存一块 __size字节,这样的内存块有__n块,将__ptr指向的__n块__size字节的内容写入到__s所指向的文件中

16.fread (void *__restrict __ptr, size_t __size, size_t __n,FILE *__restrict __stream)

__ptr时一个指针,将__s指向的文件中的内容写入到__ptr中指向的内存中,__ptr指向的内存一块 __size字节,这样的内存块有__n块

17.int feof(FILE *__stream);
int ferror (FILE *__stream)

标准输入出错或文件结束都会返回EOF,此函数用来区分正常读到文件结尾结束,还是出错结束,检测到文件结尾返回非0,否则返回0

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664065.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号