Android NDK JNI C++ <8> 读写文件

本来想直接看看Thread的,结果差一个小插曲:Android 的Bionic C语言库的使用.

我们在前面<7>博客的文章中的plus.cpp和plus.h中直接添加读写操作文件:增加filemanager(char* infor)的函数

#include<stdio.h>
#ifndef PLUS_HEADER_H__
#define PLUS_HEADER_H__

class cale{

public:
    cale(){};
    virtual ~cale(){};

    virtual int addplus(int a,int b);
    virtual char* showmsg();
    virtual char* filemanager(char* infor);

};

#endif


plus.cpp如下:

#include "plus.h"

char* cale::showmsg() {
    return "cpp program !";
}
;

int cale::addplus(int a, int b) {
    return a + b;
}
;

char* cale::filemanager(char* infor) {

    char* str = "Native Code!";


    FILE* file = fopen("sdcard/hello.txt", "w+");
    if (file == NULL) {
        file = fopen("mnt/sdcard/hello.txt", "w+");
        if (file == NULL) {
            file = fopen("storage/sdcard/hello.txt", "w+");
        }
    }

    if (file == NULL) {
        str = "Native Code! fopen() did not work!";
    } else {
        str = "Native Code! fopen() worked!";
        fputs("HELLO WORLD!\n", file);
        fflush(file);
        fclose(file);
    }

    return str;

}

让后重新swig转换就可以了.

调用,在APP中需要添加读写sdcard权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 


然后使用adb查询结果:

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/MMLoveMeMM/articles/3735959.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值