0

引数を受け取るコマンドライン実行可能ファイルがあるとします。このexecutalbeはwidecharに対応しており、この引数の1つがオプションであるHYPHENケースで始まるかどうかをテストする必要があります。

コマンド-ofoo

ホストが文字セットを使用していることがわからない場合、コード内でどのようにテストできますか?特定のコンソールで、widecharフォレスト内の別のcharによって同じHYPHEN表現を生成することはできませんか?(そのような場合、それは野生の文字になります:P)

int _tmain(int argc, _TCHAR* argv[])
{
   std::wstring inputFile(argv[1]);
   if(inputFile->c_str() <is an HYPHEN>)
   {
      _tprintf(_T("First argument cannot be an option"));
   }
}
4

1 に答える 1

2

あなたの場合、Windows はコマンド ラインを UTF-16 文字列として提供するので、文字セットについて心配する必要はありません。チェックするだけ(inputFile->c_str()[0] == L'-')で、準備完了です。もちろん、UTF-16 は可変長エンコーディングですが、ハイフン文字は単一の wide-char 値で表されます。

于 2010-06-05T07:36:58.823 に答える