C文件输入输出流

    xiaoxiao2021-03-25  97

    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

    转载请注明原文地址: https://ju.6miu.com/read-33482.html

    最新回复(0)