引数の説明

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 つ目の引数 (lpApplicationNamelpCommandLine) を使用する場合、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 固有の仕様はここまで

関連項目

main 関数とプログラム実行