新手入门向 简单介绍文件读写

文件读写:
文件的分类:

​ 文本文件:储存的是ASCII码的二进制 ‘2’ ‘5’ ‘5’

​ 二进制文件:储存的是数据的补码 11111111

文件IO:

​ FILE *fopen(const char *path, const char *mode);

​ 功能:打开或者创建文件

​ path:文件路径

​ mode:打开模式

​ r:以只读权限打开文件,如果文件不存在则打开失败

​ r+:在r的基础上加入写权限

​ w:以只写权限打开文件,如果文件存在则清空写入,如果文件不存在则创建。

​ w+:在w的基础上加入读权限

​ a:以只写权限打开文件,如果文件存在则在末尾追加写入,如果文件不存在则创建

​ a+:在a的基础上加入读权限

​ 返回值:结构指针,不需要关心它的成员,只需要知道它是操作文件的凭证,也叫文件指针。

二进制方式读写:

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

功能:把内存中的数据写入到文件中

ptr:内存的地址

size:一次写入size字节

nmemb:写入多少次

stream:文件指针,fopen的返回值

返回值:成功写入的次数

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

功能:从文件中读取数据到内存中

ptr:内存的地址

size:一次读取size个字节

nmemb:读取多少次

stream:文件指针,fopen的返回值

返回值:成功读取的次数

文本方式读写:

int fprintf(FILE *stream,const char *format,…);

功能:以文本形式写入数据到文件中

stream: 文件指针,fopen的返回值

format: 写入的内容,占位符

…: 变量名

返回值:成功写入的字节数

int fscanf(FILE *stream,const char *format,…);

功能: 从文件中以文本形式读取数据到变量中

stream: 文件指针,fopen的返回值

format: 要读取的内容,占位符

…: 变量的地址

返回值: 成功读取变量的个数

int fclose(FILE *fp);

功能:关闭文件

文件位置指针:

​ 每打开一个文件都会有一个指针记录着要操作的位置,它会随着读写函数的执行而移动,r、r+、w、w+打开时位置指针都在文件的开头,以a\a+方式打开时位置指针在末尾。

​ 如果想要随机读取文件的任何位置的数据,需要手动设置文件的位置指针。

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

​ 功能:设置文件位置指针的位置

​ stream:文件指针,fopen的返回值

​ offset:偏移值

​ whence:基础位置

​ SEEK_SET:文件开头

​ SEEK_CUR:当前位置

​ SEEK_END:文件末尾

​ 返回值:成功返回0,失败返回-1

​ void rewind(FILE *stream);

​ 功能:把文件位置指针设置到开头

​ long ftell(FILE *stream);

​ 功能:获取文件位置指针的位置

​ 返回值:第几个字节

文件相关的函数:

​ int feof(FILE *stream);

​ 功能:检查文件位置是否到达末尾

​ 返回值:文件末尾返回非零值

​ char *fgets(char *s, int size, FILE *stream)

​ 功能:从文件中读取一行字符串

​ int fputs(const char *s, FILE *stream);

​ 功能:写入一个字符串到文件中,会自动添加一个\n

​ 返回值:成功写入的字符个数

​ int fgetc(FILE *stream);

​ 功能:从文件中读取一个字符

​ int fputc(int c, FILE *stream);

​ 功能:写入一个字符到文件

​ int remove(const char *pathname);

​ 功能:删除文件

​ 返回值:成功返回0 失败返回-1

​ int rename(const char *oldpath, const char *new‐path);

​ 功能:重命名文件

​ 返回值:成功返回0 失败返回-1

main函数的参数:

​ 是为了获取命令行附加的参数

​ argc:命令行附加参数的个数

​ argv[]:每个命令字符串的首地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值