• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コマンドプロンプトにおけるコマンドライン引数の展開)

コマンドプロンプトにおけるコマンドライン引数の展開

このQ&Aのポイント
  • コマンドプロンプトにおけるコマンドライン引数の展開についての詳細を教えてください。
  • コマンドプロンプトで二重引用符で囲まれたコマンドライン引数の扱いについて知りたいです。
  • バッチスクリプトにおいて、コマンドライン引数がスペースで区切られる場合の動作について教えてください。

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

  • ベストアンサー
回答No.1

使用環境は Windows ということですよね。 コマンドライン引数を main( int argc, char *arvg ) の argv に分解しているのは、スタートアップルーチン ( Visual C/C++ なら C:\Program Files (x86)\Microsoft Visual Studio XX.X \VC\crt\src\crt0.c あたり ) です。 スタートアップルーチンが "" で囲まれた文字列から "" を取り除いたりしているのだと思います。 #include <windows.h> #include <stdio.h> int main(int argc,char *argv[]) { printf( "%s\n", GetCommandLine() ); return 0; } としてみると、コマンドプロンプトから起動したときに渡されたコマンドライン引数がどうなっているか確認できます。

MetalLover
質問者

お礼

御回答ありがとうございます。 GetCommandLine() を使えば、コマンドプロンプトで処理された後の コマンドラインが表示されました。 貴重な情報ありがとうございました。

その他の回答 (1)

回答No.2

一部訂正です。 >コマンドライン引数を main( int argc, char *arvg ) の argv に分解しているのは は >コマンドライン引数を main( int argc, char *arvg[] ) の argv[] に分解しているのは の間違いです。