读操作:
bool ReadDirectories(const wstring& path)
{
vector<wstring> vecFiles;
FindAllFileInDirEx(path, vecFiles, L"txt");
for (vector<wstring>::iterator iter = vecFiles.begin(); iter != vecFiles.end(); ++iter)
{
wstring strPath(*iter);
string strPost = ReadFile(strPath, TRUE);
}
}
写操作:
bool CreateDirectories(const wstring& path)
{
bool bRet = true;
vector<wstring> direct;
SplitPath(path, &direct);
wstring cur_path;
for (vector<wstring>::iterator iter = direct.begin(); iter != direct.end(); ++iter)
{
cur_path += *iter;
#if defined _WIN32 || defined _WIN64
cur_path += L"\\";
if (_waccess(cur_path.c_str(), 0) != 0)
{
bRet = _wmkdir(cur_path.c_str()) == 0;
}
#else
cur_path += L"/";
string spath = unicode_to_utf8(cur_path);
if (access(spath.c_str(), 0) != 0)
{
mkdir(spath.c_str(), 0777);
}
#endif
}
return bRet;
}
/*@
@para strFilePath 文件路径
@para str 要写入的内容
@return 写入成功或失败
*/
WriteBinFile(strFilePath, str.c_str(), str.length())
{
CreateDirectories(GetFileDir(strFilePath));
ofstream ofs(strFilePath.c_str(), ios_base::out | ios::binary);
ofs.write(pData, nSize);
ofs.close();
return true;
}