[3382]
CProfileのいろいろ
げんた
見てます.
>iter->erase( iter->size()-1, 1 );
>iter->erase( 0, 1 );
最後の]をちゃんと確認すべく
unsigned int idx = iter->find( _T("]") );
if( idx != iter->npos ){
Section Buffer;
Buffer.strSectionName = iter->substr( 1, idx - 1 - 1 ).c_str();
m_ProfileData.push_back( Buffer );
}
としてみた.
--
文字列比較でfindの結果と位置を比較しているが,位置が既知なのであるからcompareを使った方が効率的かと.
if( 0 == iter->compare( 0, 2, _T("//") )) continue;
--
要素の空チェックにはempty()を使ってsize()は使わない.
(空文字列チェックを strlen(str)==0ではなくstr[0]=='\0'とするのと同じ理屈)
else if( !m_ProfileData.empty())
--
Unicode版ではsakura.iniもUnicodeになるのでOK?WriteFile()で_T()の無い文字列が残っていますが.