bool StFileNode::removeFile(const StCString& thePath) { #ifdef _WIN32 StStringUtfWide aPath; aPath.fromUnicode(thePath); return DeleteFileW(aPath.toCString()) != 0; #else return ::remove(thePath.toCString()) == 0; #endif }
bool StFileNode::moveFile(const StCString& thePathFrom, const StCString& thePathTo) { #ifdef _WIN32 StStringUtfWide aPathFrom; aPathFrom.fromUnicode(thePathFrom); StStringUtfWide aPathTo; aPathTo .fromUnicode(thePathTo); return MoveFileW(aPathFrom.toCString(), aPathTo.toCString()) != 0; #else return ::rename(thePathFrom.toCString(), thePathTo.toCString()) == 0; #endif }
bool StFileNode::isFileExists(const StCString& thePath) { #ifdef _WIN32 StStringUtfWide aPath; aPath.fromUnicode(thePath); struct __stat64 aStatBuffer; return _wstat64(aPath.toCString(), &aStatBuffer) == 0; #elif (defined(__APPLE__)) struct stat aStatBuffer; return stat(thePath.toCString(), &aStatBuffer) == 0; #else struct stat64 aStatBuffer; return stat64(thePath.toCString(), &aStatBuffer) == 0; #endif }
bool StFolder::isFolder(const StCString& thePath) { #ifdef _WIN32 StStringUtfWide aPath; aPath.fromUnicode(thePath); DWORD aFileAttributes = GetFileAttributesW(aPath.toCString()); if(aFileAttributes == INVALID_FILE_ATTRIBUTES) { return false; } if((aFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0) { return true; } return false; #else DIR* aDir = opendir(thePath.toCString()); if(aDir == NULL) { return false; } closedir(aDir); return true; #endif }