linux文件读写

在这里插入图片描述
数据块读写:整块copy,速度较快,但是是二进制操作
#include <stdio.h>
① size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
fread 从文件流stream 中读取nmemb 个元素,写到ptr 指向的内存中,每个元素的大小为size 个
字节。
② size_t fwrite(void *ptr, size_t size, size_t nmemb, FILE stream);
fwrite 从ptr 指向的内存中读取nmemb 个元素,写到文件流stream 中,每个元素size 个字节。
所有的文件读写函数都从文件的当前读写点开始读写,读写完以后,当前读写点自动往后移动
size
nmemb 个字节

格式化读写:
int fprintf(FILE *stream, “%d %s %d”,num,name,score); 将格式化后的字符串写入到文件流stream 中
(同)int sprintf(char *str, const char *format, …);
int fscanf(FILE *stream, “%d %s %d”,num,name,score);将文件流stream 中的数据按照格式读出,存 到name,num,score中。
(同)int sscanf(char *str, const char *format, …);

单个字符读写:
使用下列函数可以一次读写一个字符
#include <stdio.h>
int fgetc(FILE *stream);
int fputc(int c, FILE *stream);
int getc(FILE stream);  等同于fgetc(FILE stream)
int putc(int c, FILE stream);  等同于fputc(int c, FILE stream)
int getchar(void);  等同于fgetc(stdin);
int putchar(int c);  等同于fputc(int c, stdout);
getchar 和putchar 从标准输入输出流中读写数据,其他函数从文件流stream
中读写数据。

字符串读写:
char *fgets(char *s, int size, FILE *stream);
int fputs(const char *s, FILE *stream);
int puts(const char *s);  等同于fputs(const char *s,stdout);
char *gets(char *s);  等同于fgets(const char *s, int size,
stdin);
fgets 和fputs 从文件流stream 中读写一行数据;
puts 和gets 从标准输入输出流中读写一行数据。
fgets 可以指定目标缓冲区的大小,所以相对于gets 安全,但是fgets 调用
时,如果文件中当前行的字符个数大于size,则下一次fgets 调用时,将继
续读取该行剩下的字符,fgets 读取一行字符时,保留行尾的换行符。
fputs 不会在行尾自动添加换行符,但是puts 会在标准输出流中自动添加一
换行符。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值