SAFile SAUtf8WFOpen( const char *pszFilename, const char *pszAccess ) { SAFile file = NULL; const wchar_t *pwszFileName, *pwszAccess; pwszFileName = Utf8ToWideChar( pszFilename ); pwszAccess = Utf8ToWideChar( pszAccess ); if( pwszFileName != NULL && pwszFileName != NULL) { file = (SAFile) _wfopen( pwszFileName, pwszAccess ); } free ((wchar_t*) pwszFileName); free ((wchar_t*) pwszAccess); return file; }
int SAUtf8WRemove( const char *pszFilename ) { const wchar_t *pwszFileName = Utf8ToWideChar( pszFilename ); int rc = -1; if( pwszFileName != NULL ) { rc = _wremove( pwszFileName ); } free ((wchar_t*) pwszFileName); return rc; }
ConfItemDict* ConfItemDictFileReader::Read() { fseek(fp_, 0, SEEK_END); const int kTotalFileContentBytesNum = ftell(fp_); rewind(fp_); char* raw_file_buffer = new char[kTotalFileContentBytesNum]; int finished_read_bytes_count = fread(raw_file_buffer, 1, kTotalFileContentBytesNum, fp_); assert(finished_read_bytes_count == kTotalFileContentBytesNum); TCHAR* widechar_content_buffer = NULL; int widechar_content_buffer_size = 0; Utf8ToWideChar(raw_file_buffer, kTotalFileContentBytesNum, widechar_content_buffer, widechar_content_buffer_size); ScanFileLine(widechar_content_buffer, widechar_content_buffer_size, file_lines_); ParseFileLine(); return result_conf_item_dict_; }