C文件输入输出流

NDK开发时, 文件读写经常是放在C中编写, 然后由Java通过jni调用执行.所以接下来写个文件读写的小demo.
一般会用到以下几个函数:

1. fopen(const char* arg1, const char* arg2);
2. fwrite(const void* arg1, size_t arg2, size_t arg3, FILE* file);
3. fseek(FILE* file, long arg1, int arg2);
4. fread(void* arg1,size_t arg2, size_t arg3, FILE* file);
5. ftell(FILE* file);

1. fopen():

参数含义
const char* arg1文件路径
const char* arg2文件的打开方式

2. fwrite():

参数含义
const void* arg1对写入数据的对象
size_t arg2待写入数据量的大小(字节为单位)
size_t arg3待写入数据块的大小
FILE* file目标文件指针

3. fseek():

参数含义
FILE* file文件指针
long arg1偏移量
int arg2模式

4. fread():

参数含义
void* arg1带读取数据的对象
size_t arg2待读入数据量的大小(字节为单位)
size_t arg3待读入数据块的大小
FILE* file目标文件指针

5. ftell():

参数含义
FILE* file文件路径
                                fopen()函数打开文件的方式
模式字符串含义
“r”以读模式打开文件
“w”以写模式打开文件,把现有文件的长度截为0,如果文件不存在,则创建一个新文件
“a”以写模式打开文件,在现有文件的末尾添加内容,如果文件不存在,则创建一个新文件
“r+”以更新模式打开文件(即可以读写文件)
“w+”以更新模式打开文件,如果文件存在,则覆盖,如果不存在,则创建一个新文件
“a+”以更新模式的打开文件,如果文件存在,追加的方式写入,如果不存在,则创建新文件
“rb”,”wb”,”ab”,”ab+”,”a+b”,”wb+”,”w+b”,”ab+”,”a+b”与上一个模式类似,但是以二进制的方式打开文件
“wx”,”wbx”,”w+x”,”wb+x”,”w+bx”
                                    fseek()的第三个参数
模式偏移量的起始点
SEEK_SET文件开始处
SEEK_CUR当前位置
SEEK_END文件末尾

代码已经上传至github:https://github.com/ranhuanbin/JniTest/blob/master/app/src/main/cpp/FilePerform.c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值