• ベストアンサー

C言語 文字列比較

WindowsAppのコマンドライン引数はLPSTR型ですよね、コマンドライン引数が~だったら、というような条件分岐を作りたいのですが、strcmpは使えません。それで、どうすればいいのか分からなくなってしまい、質問しました。 WindowsAppではあるけど、コマンドラインオプションを使いたいのですが、どうやって文字列をしたらいいのでしょうか? もしstrcmpが使えたとしたら、こういうことをやりたいのです。 int WINAPI WinMain(・・・LPSTR pCmdLine, ・・・) // pCmdLineはコマンドライン引数です。 { ・・・ // 省略 if(strcmp(pCmdLine,"-s") == 0) { ・・・ } ・・・ return 0; } ・・・は省略です。 このようなことをできる関数はありませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

>strcmpは使えません。 使えますけど。 どういう理由で使えないと判断したかを分析すると、理解の足りない部分があぶりだされると思います。

noname#153104
質問者

お礼

すみません、私の理解不足でした。 今strcmpを使ってみたのですが、普通にいけました。 何が悪かったのかというと、コマンドライン引数が一文字のときがあるんです。その時、一文字だからといってシングルクォーテーションで囲んだのが間違いだったようです。in型は渡せない旨のエラーが出ていたのはこのためだったようです。ダブルクォーテーションで囲むと通常になりました。 お騒がせしてすみません。またこんな質問をしたときはどうぞよろしくお願いします。 回答ありがとうございました。

その他の回答 (1)

回答No.1

LPSTRはchar*がtypedefされてるだけだと思いますが。

noname#153104
質問者

お礼

回答ありがとうございます。 winnt.hでそのように定義されていました。 誠に申し訳ございません 回答ありがとうございました。 またこのような質問をしてしまった場合には、よろしくお願いします。

関連するQ&A

専門家に質問してみよう