次の方法で共有


引数の定義

プロトタイプの引数

int main( int argc[ , char *argv[ ] [, char *envp[ ] ] ] );
int wmain( int argc[ , wchar_t *argv[ ] [, wchar_t *envp[ ] ] ] );

引数の便利なコマンド ラインの分析を使用すると、環境変数にアクセスします。引数の定義は次のとおりです。:

  • argc
    argvの後の引数の数を含む整数。argc のパラメーターは1.に大きいか等しい。常にです。

  • argv
    プログラムのuserによって入力されたコマンド ライン引数を表すnullで終わる文字列の配列。規則により、argv**[0]** は、プログラムを起動するコマンド、argv**[1]** です **[NULL]常にの最初のコマンド ライン引数など、argv[argcまでの]**です。コマンド ライン処理の抑制の詳細については、コマンド ラインの処理のカスタマイズ を参照してください。

    最初のコマンド ライン引数が argv**[1]** 常にで、最後の1つが argv**[argc – 1]**です。

    [!メモ]

    規則では、argv[0] は、プログラムが起動されるコマンドです。ただし、CreateProcess、1番目と2番目の引数 (lpApplicationName と lpCommandLine) を使用する場合は、argv[0] を使用してプロセスを実行するには、実行可能ファイルの名前ではない可能性があります。; 実行可能ファイルの名前を取得するために GetModuleFileName と絶対パスを使用します。

Microsoft 固有の仕様 →

  • envp
    多くのUnixシステムの共通の拡張子である envp の配列はMicrosoft C++で使用されます。これは、ユーザー環境変数の設定を表す文字列の配列です。この配列は [NULL] のエントリで終了します。これは char (char の*envp[ ])char (char にポインターとしてenvp **)ポインターの配列またはポインターとして宣言できます。プログラムの mainの代わりに wmain を使用する場合は、charの代わりに wchar_t のデータ型を使用します。環境ブロックは main に渡され、wmain は現在の環境の「固定」コピーです。putenv_wputenvの呼び出しによって従って環境を変更する getenv (/_wgetenv_environ/ _wenviron の変数が返される)、現在の環境は、envpによって示されるブロック変更されませんが変更されます。環境の処理の抑制の詳細については、コマンド ラインの処理のカスタマイズ を参照してください。この引数はCではなく、C++でANSI互換です。

使用例

次の例に mainに argc、argvと envp の引数を使用する方法を示しています:

// argument_definitions.cpp
// compile with: /EHsc
#include <iostream>
#include <string.h>

using namespace std;
int main( int argc, char *argv[], char *envp[] ) {
    int iNumberLines = 0;    // Default is no line numbers.

    // If /n is passed to the .exe, display numbered listing
    // of environment variables.

    if ( (argc == 2) && _stricmp( argv[1], "/n" ) == 0 )
         iNumberLines = 1;

    // Walk through list of strings until a NULL is encountered.
    for( int i = 0; envp[i] != NULL; ++i ) {
        if( iNumberLines )
            cout << i << ": " << envp[i] << "\n";
    }
}

参照

関連項目

Main: プログラムの起動