1.
int ConfigIniFile::OpenFile( const char* szFileName ) { FILE *fp; size_t nLen; int nRet; CloseFile(); if ( 0 == szFileName ) { return -1; } #if defined(_WIN32) m_szFileName = _strdup( szFileName ); #else m_szFileName = strdup( szFileName ); #endif fp = fopen( m_szFileName, "rb" ); if ( 0 == fp ) { return -1; } nRet = fseek( fp, 0L, SEEK_END ); if (nRet != 0) { fclose( fp ); return -1; } nLen = (size_t) ftell( fp ); m_szContent = (char* ) new char[ nLen + 1 ]; m_szShadow = (char* ) new char[ nLen + 1 ]; if ( m_szShadow == 0 || m_szContent == 0 ) { fclose( fp ); return -1; } nRet = fseek( fp, 0L, SEEK_SET ); if ( 0 != nRet ) { fclose( fp ); return -1; } m_nSize = fread( m_szContent, 1, nLen, fp ); m_szContent[m_nSize] = '