4

コマンドライン引数を使用するには、これを実行する必要があることを知っています。

int main(int argc, char* argv[])

これで、コマンドライン引数の取り込みについて読んだほとんどのドキュメントで、次のような状況が説明されています。

コマンドライン引数は、DOSやLinuxなどのコマンドラインオペレーティングシステムのプログラム名の後に付けられ、オペレーティングシステムからプログラムに渡されます。

したがって、プログラムを開くことを知っている唯一の方法は、デバッグを開始するか、exeファイルを開くかのいずれかで、通常どおりにプログラムを開くことです。

ここで、コマンドライン引数を使用するには、プログラムを別の方法で開く必要があるようです。コマンドラインを使用して(たとえば、Windowsコマンドプロンプト)、その後に引数を記述します。

だから私の質問は

コマンドラインを使用してプログラムを開くにはどうすればよいですか?また、プログラム名の後に引数を入力するにはどうすればよいですか?

4

9 に答える 9

6

簡単にするために、Windows7を使用していると仮定します。

最も簡単な方法は、DOSボックスを開いてから、アプリケーションをそのボックスにドラッグアンドドロップすることです。これにより、実行可能ファイルへのパスが挿入されます。その後、渡したいコマンドライン引数の入力を開始できます。最終的には次のようになります。

C:\Users\cscott> "C:\Users\cscott\Documents\myApp.exe" argument1 argument2

注:コメントで述べたように、これはWindows Vistaでは機能しません。これは、執筆時点では気づいていなかった事実です。

于 2012-09-05T15:48:25.983 に答える
4

IDEを使用していると仮定し、それがVisualStudioであると大げさに推測します。私の場合、2つのアプローチがあります。1つは、ビルドされた実行可能ファイルを含むフォルダーを開くことです。デフォルトでは、{Solution Directory} / {Project Directory} / bin /{BuildConfiguration}にあります。そこでコマンドラインを実行します。もう1つのオプションは、プロジェクトのプロパティを開くことです。[デバッグ]タブ(VS 2010ではバージョンによって異なります)で、[コマンドライン引数]というラベルの付いたボックスにコマンドラインフラグを入力します。

于 2012-09-05T15:49:49.757 に答える
2

引数をプログラムに渡す方法のいくつか:

  • コマンドプロンプトcmd.exeまたはWindowsのPowerShellなど)を 開き、次のように入力しますyour_program.exe arg1 arg2 arg3
    ショートカットまたはスクリプト(バッチまたはshスクリプトなど)でも同じことができます。

  • IDEで実行構成を編集します。
    たとえば、Eclipseでは、実行構成ごとにコマンドライン引数を個別に設定できます。これは、開発およびデバッグ中に役立ちます。

  • Windowsでは、ファイルを実行可能ファイルにドラッグアンドドロップします。ドラッグされたファイルのファイル名は、コマンドライン引数として渡されます。

  • Windowsでは、ファイル名拡張子をファイルタイプ(assocコマンド)に関連付け、そのファイルタイプをプログラムを実行するコマンド(コマンド)に関連付けますftype。コマンドインタープリターまたはダブルクリックなどでそのようなファイルを開くと、舞台裏でプログラムがそのファイルへのパスを引数として実行されるようになります。

  • 別のプログラムからプログラムで実行可能ファイルを実行し、引数を変数として渡します。
    たとえば、Pythonの場合:
    subprocess.call(['my_program.exe','arg1','arg2'])

于 2012-09-05T15:49:45.903 に答える
1

これが私がLinuxで使っている簡単な例です

./myprogram args1 args2

そしてuはこのようにそれを解析することができます

int
main (int argc, char **argv)
{
  if (argc >= 2) {
     std::string param(argv[1]);
  }
  ///etc
}
于 2012-09-05T15:49:35.230 に答える
1

Windowsでは、コマンドプロンプトを使用して実行可能ファイルの場所に移動する必要があり、と言うことで実行できますMyexe.exe first_arg second_arg

または、exeファイルを右クリックし、ファイル設定で、ダブルクリックして開いたときに提供するコマンドライン引数を指定することもできます。

もう1つの方法は、プログラムをそのように呼び出して実行する単純なバッチスクリプトを作成するC:/Full/Path/To/Your/Program/app.exe first_arg second_argことです。

Visual Studioまたはお好みのIDEでは、プロジェクト設定に、IDE内から実行するときにプログラムにいくつかのコマンドライン引数を指定するオプションがあります。

于 2012-09-05T15:47:51.787 に答える
0

コマンドプロンプトから起動するときに書き込む、ショートカットを作成して名前の後に引数を追加する、デバッグ時に一部のIDEで引数を追加する、またはいくつかの引数を使用してプログラムを他のプログラムと比較することができます。

于 2012-09-05T15:49:44.563 に答える
0
<path of your program> <Arguments separated by space>
于 2012-09-05T15:46:45.480 に答える
0

これを行うには、コマンドプロンプトを開き、パスにcdして、exe名の後にパラメータを入力します。

 eg: bob.exe bob dylan

ここで、exeはbobで、2つのパラメータはbobとdylanです...

...または、ショートカットを作成して右クリックし、プロパティを選択してショートカットを作成し、ターゲットフィールドの最後にパラメータを追加することもできます。

"C:\bob.exe" /bob dylan

それが何であるかに応じて、IDEにオプションがある場合があります。

于 2012-09-05T15:47:25.467 に答える
0

何かがあなたのプログラムを開始しようとしています。引数を渡すのはそれ次第です。通常のシェルはすべて、コマンドラインを解析して(常に同じ方法であるとは限りませんが)、引数を表示します。Windowsでは、デスクトップとタスクバーのボタンを左クリックすると、設定ウィンドウが開きます。このウィンドウには、コマンドラインを「ターゲット:」として入力できる「ショートカット」タブがあります。Unixでのrcファイル(起動時に実行)は基本的にシェルスクリプトであり、cronファイル(起動時のタイミング)もコマンドラインを使用します(分離されたコマンドだけではありません)。等々。

他のコンテキストでは、ファイルタイプ(拡張子)を、そのタイプのファイルをクリックしたときに実行されるコマンドにマップするか、ダウンロードすることができます。このような場合、他に何もなければ、少なくともファイルへのフルパスを取得できます。

ファイルの名前しか取得できないいくつかのケースでは、プログラムを呼び出すときに追加の引数を追加する独自のシェルスクリプトを作成するのはかなり簡単です。

于 2012-09-05T16:44:59.087 に答える