找来 一个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;
}