简单问题,JNI 交叉编译,处理 C++ 创建android环境下文件夹

jjk_by 2014-10-28 08:27:02
找来 一个linux ,本来想着android的内核也是基于linux的,编译so时候发现 android 没有 access 接口 或者说NDK不支持这个接口我的ndk是r7版本的,求教access的接口实现(及检验文件夹是否存在)

//1。首先请加上这些预编译

#ifdef _WIN32
#include <direct.h>
#include <io.h>
#elif _LINUX
#include <stdarg.h>
#include <sys/stat.h>
#endif

#ifdef _WIN32
#define ACCESS _access
#define MKDIR(a) _mkdir((a))
#elif _LINUX
#define ACCESS access
#define MKDIR(a) mkdir((a),0755)
#endif

//2。函数体

INT CreatDir(char *pszDir)
{


INT32 i = 0;
INT32 iRet;
INT32 iLen = strlen(pszDir);
//在末尾加/
if (pszDir[iLen - 1] != '\\' && pszDir[iLen - 1] != '/')
{
pszDir[iLen] = '/';
pszDir[iLen + 1] = '\0';
}

// 创建目录
for (i = 0;i < iLen;i ++)
{
if (pszDir[i] == '\\' || pszDir[i] == '/')
{
pszDir[i] = '\0';

//如果不存在,创建
iRet = ACCESS(pszDir,0);
if (iRet != 0)
{
iRet = MKDIR(pszDir);
if (iRet != 0)
{
return -1;
}
}
//支持linux,将所有\换成/
pszDir[i] = '/';
}
}

return 0;
}
...全文
310 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
媒体盒子 2014-11-14
  • 打赏
  • 举报
回复
自己看ndk platform 的api里面是不是有access,如果没有那就只能自己实现了
jjk_by 2014-11-13
  • 打赏
  • 举报
回复
悲惨啊,这么久没人回!!

80,358

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧