MFCで文字列の比較(アルファベット順とか)。CStringListにソートして格納例

CompareStringという関数がある。

CString input_string = "...";

// アルファベット順にソートして格納
POSITION tmp_pos = output_cstringlist.GetHeadPosition();
while( tmp_pos ){
	POSITION bk_tmp_pos = tmp_pos;
	 CString tmp_cstring = output_cstringlist.GetNext(tmp_pos);
	 if( CSTR_GREATER_THAN == CompareString(LOCALE_SYSTEM_DEFAULT,NORM_IGNORECASE,tmp_cstring,tmp_cstring.GetLength(),input_string,input_string.GetLength()) ){
		 output_cstringlist.InsertBefore(bk_tmp_pos,fnm);
		 tmp_pos = bk_tmp_pos; // AddTail()させないように
		 break;
	 }
}
if( tmp_pos == NULL ){
	output_cstringlist.AddTail( fnm );
}