0

multiset オブジェクトを使用して、渡す文字列のグループを並べ替えています (デフォルトのアルファベット順を使用しています)。私の問題は、本来のように文字列をソートしていないことです。コードの別の部分で同じことを行うために使用していたので、うまくいくはずであり、問​​題はありませんでした。Args は多数の単語を含む文字列であり、単語を個別に削除して、マルチセットで並べ替えます。これが私がそれを使用している機能です:

void
SimpleCommand::sortAndInsertArgument(char * args){
//cout << args;
    char * word;
    multiset<string> sortedArgs;
    word = strtok (args," \t\n");
    while(word!=NULL){
      sortedArgs.insert(strdup(word));
      word = strtok (NULL," \t\n");
    }
    multiset<string>::iterator it;
    for(it=sortedArgs.begin();it!=sortedArgs.end();it++){
      string str = *it;
      const char * charStr = str.c_str();
      Command::_currentSimpleCommand->insertArgument(strdup(charStr));
    }
}
4

0 に答える 0