지금 /sdcard 경로 얻어오는 작업이 필요한데 이상한점이 있어서 질문드립니다.
일단 "/sdcard" 경로를 사용했을때 이상한 점이 있습니다.
void AssetManager::copyToDevice(const char* dest, const char* fname) {
char* buf = nullptr;
FILE* fp = android_fopen(fname, "rb");
if (fp == NULL) return;
int fileSize = AAsset_getLength(asset);
if (fileSize == 0) return;
buf = new char[fileSize + 1];
AAsset_read(asset, buf, fileSize);
AAsset_close(asset);
FILE* destFP = fopen(dest, "wb");
if (destFP == NULL)
return;
fwrite(buf, 1,fileSize, destFP);
delete buf;
// fclose(fp);
fclose(destFP);
}
이코드는 정상작동 합니다.
그런데
void MusicContainer::findMusicFiles(const char* path) {
DIR* dp;
struct dirent* entry;
dp = opendir(path);
if (dp == NULL) {
_isLoaded = true;
return;
}
.
.
.
.
}
이 코드에 경로를 /sdcard로 주면, dp가 널값이 되버립니다.
무엇이 문제인지 힌트 좀 주실수 있나요?