关于FILE操作TXT的读写

需要#include <stdio.h>,

打开文件

FILE *fopen(const char *filename, const char *mode);

filename : 文件的地址

mode:

"r"

打开一个用于读取的文件。该文件必须存在。

"w"

创建一个用于写入的空文件。如果文件名称与已存在的文件相同,则会删除已有文件的内容,文件被视为一个新的空文件。

"a"

追加到一个文件。写操作向文件末尾追加数据。如果文件不存在,则创建文件。

"r+"

打开一个用于更新的文件,可读取也可写入。该文件必须存在。

"w+"

创建一个用于读写的空文件。

"a+"

打开一个用于读取和追加的文件。

当打开文件正确时返回一个 FILE 指针。否则返回 NULL

 

设置编辑或查找的起始位置

int fseek(FILE *stream, long int offset, int whence) 

stream:指向 FILE 对象的指针,该 FILE 对象标识了流。

offset: 相对 whence 的偏移量,以字节为单位。

whence: 开始添加偏移 offset 的位置。:

SEEK_SET

文件的开头

SEEK_CUR

文件指针的当前位置

SEEK_END

文件的末尾

成功返回零,否则返回非零值。

 

获取文件的大小

long int ftell(FILE *stream)

stream:指向 FILE 对象的指针,该 FILE 对象标识了流。

返回位置标识符的当前值。如果发生错误,则返回 -1L,全局变量 errno 被设置为一个正值

 

读取文件

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

ptr:指向带有最小尺寸 size*nmemb 字节的内存块的指针。

size:要读取的每个元素的大小,以字节为单位。

nmemb:元素的个数,每个元素的大小为 size 字节。

stream: 指向 FILE 对象的指针,该 FILE 对象指定了一个输入流

返回一个 size_t 对象,表示元素的总数,该对象是一个整型数据类型。如果该数字与 nmemb 参数不同,则会显示一个错误。

 

按行来读取

char *fgets(char *str, int n, FILE *stream)

str:这是指向一个字符数组的指针,该数组存储了要读取的字符串。

n :这是要读取的最大字符数(包括最后的空字符)。通常是使用以 str 传递的数组长度。

stream: 指向 FILE 对象的指针,该 FILE 对象指定了一个输入流

 

文件写入

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

ptr:指向带有最小尺寸 size*nmemb 字节的内存块的指针。

size:要读取的每个元素的大小,以字节为单位。

nmemb:元素的个数,每个元素的大小为 size 字节。

stream: 指向 FILE 对象的指针,该 FILE 对象指定了一个输入流

返回一个 size_t 对象,表示元素的总数,该对象是一个整型数据类型。如果该数字与 nmemb 参数不同,则会显示一个错误。

int fputs(const char *str, FILE *stream)

str:这是指向一个字符数组的指针,该数组存储了要读取的字符串。

stream: 指向 FILE 对象的指针,该 FILE 对象指定了一个输入流

 

检测是否到达文件的结束位置

int feof(FILE *stream)

当设置了与流关联的文件结束标识符时,该函数返回一个非零值,否则返回零

 

关闭文件

int fclose(FILE *stream)

stream: 指向 FILE 对象的指针,该 FILE 对象指定了一个输入流

流成功关闭,则该方法返回零。如果失败,则返回 EOF。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值