嵌入式学习日记(24)标准IO、流定位接口

fgets、gets区别

fgets :1、从指定文件读取最多一行 2、保留“\n”,加“\0” 3、最多读 size - 1 个字符,最后一位放“\0”

gets :1、从终端读取 2、将末尾“\n”换成“\0” 3、读取时没有限制,可能造成越界访问

 

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

功能:向文件中写入nmemb个大小是size的数据到文件中
参数:
ptr:要写入的数据的首地址
size:每个元素的字节数
nmemb:要写入的元素个数
stream:要写入的文件流指针
返回值:成功:返回实际写入的元素个数

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

功能:从文件中读取nmemb个大小是size的数据
参数:
ptr:存储数据的首地址
size:每个元素的字节数
nmemb:要读取的元素个数
stream:要读取的文件流指针
返回值:成功:返回实际读取的元素个数

流定位相关接口
  1. fseek:
    • 功能:移动文件指针到指定位置。
    • 原型int fseek(FILE *stream, long offset, int whence);
    • 参数
      • stream:文件流指针。
      • offset:相对于whence的偏移量。
      • whence:定位基准点,常见值为:
        • SEEK_SET:文件开头。
        • SEEK_CUR:当前文件指针位置。
        • SEEK_END:文件末尾。
    • 返回值:成功返回0,失败返回非零值。
  2. ftell:
    • 功能:获取当前文件指针的位置。
    • 原型long ftell(FILE *stream);
    • 参数
      • stream:文件流指针。
    • 返回值:当前文件指针的偏移量(相对于文件开头),失败返回-1L
  3. rewind:
    • 功能:将文件指针重置到文件开头。
    • 原型void rewind(FILE *stream);
    • 参数stream:文件流指针。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值