文件IO(标准IO)

一般用于访问普通文件,如文本文档,音乐,图片等


fopen:打开文件

#include<stdio.h>

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

第二个参数是字符串,要写“”

path:文件路径

mode:打开方式

r:只读方式打开,光标在开头

r+:可读可写,光标在开头

w:只写,不存在则创建,存在则清空,光标在开头

w+:可读可写,不存在则创建,存在则清空,光标在开头

a:只写并追加,不存在则创建,光标在末尾

a+:可读可写并追加,不存在则创建,如果是读操作光标在开头,如果是写操作则光标在末尾

返回值:

成功:返回文件指针(文件流指针)

失败:返回NULL

0:stdin 标准输入默认是键盘

1:stdout 标准输出 默认是显示器

2:stderr 标准出错 默认是显示器 错误信息存储在宏变量errno中 errno 返回错误信息在errno.h中的代号,可以用strerror函数输出具体的错误信息


fclose:关闭文件

#include<stdio.h>

int fclose(FILE *strcam)

strcam:文件流指针

返回值:

成功:0

失败:EOF(-1)


fread:读取文件

#include <stdio.h>

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

ptr:将要装载数据的缓冲区

szie:每一块数据的字节数

nmemb:尝试读取的块儿数

stream:文件指针

返回值

成功:返回已经读取到的块儿数(不够一块儿的不算)

失败:小于想读取的块儿数或者0


fwrite:写入文件

#include <stdio.h>

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

ptr:数据缓冲区

size:每一块儿的字节数

nmemb:想写入文件的块儿数

stream:文件指针

返回值:

成功:已经写入的块儿数

失败:小于想写入的块儿数或者0


fseek:光标偏移

#include<stdio.h>

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

stream:文件指针

offset:需要偏移的字节数

whence:基准点

SEEK_SET:文件开头+offset为新读写位置

SEEK_CUR:目前读写位置+offset为新读写位置

SEEK_END:文件结尾+offset为新读写位置

返回值:

成功:0

失败:-1


ftell:获取当前位置距离开头的偏移量

#include<stdio.h>

long ftell(FILE *stream);

stream:文件指针

返回值:

成功:距离文件开头的字节数

失败:-1


rewind:重置光标位置

将光标位置重置到文件的开头

void rewind(FILE *stream);

stream:文件指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值