本地檔案的讀寫操作
讀操作:
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;
}