1. 程式人生 > >本地檔案的讀寫操作

本地檔案的讀寫操作

讀操作:

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;

}