引数の説明
main
および wmain
関数の argc
パラメーターは、コマンド ラインからプログラムに渡される引数の数を指定する整数です。 プログラム名は引数と見なされるため、argc
の値は 1 以上です。
Remarks
argv
パラメーターは、プログラム引数を表す null で終わる文字列へのポインターの配列です。 配列の各要素は、main
(または wmain
) に渡された引数の文字列表現を指します (配列については、「配列の宣言」を参照)。argv
パラメーターは、char
型へのポインターの配列として (char *argv[]
)、または char
型へのポインターへのポインターとして (char **argv
) 宣言できます。 wmain
の場合、argv
パラメーターは wchar_t
(wchar_t *argv[]
) 型へのポインターの配列として、または wchar_t
(wchar_t **argv
) 型へポインターへのポインターとして宣言できます。
慣例により、argv[0]
は、プログラムが起動されるコマンドです。 ただし、CreateProcess
を使用してプロセスを生成することができるため、1 つ目と 2 つ目の引数 (lpApplicationName
と lpCommandLine
) を使用する場合、argv[0]
は実行可能ファイルの名前になるとは限りません。実行可能ファイルの名前を取得するには GetModuleFileName
を使用します。
最後のポインター (argv[argc]
) は NULL
です (環境変数の情報を取得する代替メソッドについては、「ランタイム ライブラリ リファレンス」の「getenv
」を参照)。
Microsoft 固有の仕様
envp
パラメーターは、ユーザーの環境変数の値セットを表す null で終了する文字列の配列へのポインターです。 envp
パラメーターは、char
(char *envp[]
) へのポインターの配列として、または char
(char **envp
) へのポインターへのポインターとして宣言できます。 wmain
関数で、envp
パラメーターは wchar_t
(wchar_t *envp[]
) へのポインターの配列として、または wchar_t
(wchar_t **envp
) へのポインターとして宣言できます。 配列の末尾は NULL*
ポインターによって示されます。 main
または wmain
に渡される環境ブロックは、現在の環境の "固定の" コピーです。 その後 _putenv
または _wputenv
の呼び出しを通して環境を変更した場合、現在の環境 (getenv
/_wgetenv
および _environ
または _wenviron
変数によって返される) は変わりますが、envp
が指すブロックは変わりません。 envp
パラメーターは、C では ANSI/ISO C89 互換ですが、C++ では Microsoft 拡張機能です。
Microsoft 固有の仕様はここまで