0
私は今学校でサーバーアプリケーションを開発中です。現在、私は4つの別個のconst char *に読み込むべきcommandLine項目を打ち破ろうとしています。コマンドラインを別のconst char *に区切ります*
int state = 0;
char *token = std::strtok(commandLine, " ");
while(token != NULL)
{
switch(state)
{
case 0: c = token; break;
case 1: u = token; break;
case 2: p = token;break;
case 3: a = token; break;
}
token = std::strtok(NULL, " ");
state++;
}
const char* command = c.c_str();
const char* user = u.c_str();
const char* password = p.c_str();
const char* args = a.c_str();
これはあまりよく最適化されていないことを認識しています。私が試してきたことがすべてseg faultsを引き起こしたので、私はさまざまな解決策をたくさん試してきました。ご協力ありがとうございました!
コマンドラインの解析は解決された問題です:http://www.boost.org/doc/libs/1_64_0/doc/html/program_options.html –
申し訳ありませんが、このプロジェクトでは、私はブーストを使用することはできません。さもなければ、これはより簡単になります。 –
ようこそスタックオーバーフローへ。 [The Tour](http://stackoverflow.com/tour)にアクセスして、[Help Center](http://stackoverflow.com/help/asking)の内容を参照してください。どのようにここで尋ねることができます。 [mcve]を投稿することは特に重要です。 –