は(TEST.CPP)を言う変数入力とC++プログラムの実行として:は、コマンドラインからのC++コードを実行する方法
./solveのLM
ためのLおよびM =入力変数test.cpp
解決は、test.cppのオブジェクト/実行ファイルです。
は私がg ++ます。test.cpp -o
を解決するため、私は
でオブジェクトファイルを作成することができることを知っているが、どのように私は
./solveのLMを作るのですか
仕事??
は(TEST.CPP)を言う変数入力とC++プログラムの実行として:は、コマンドラインからのC++コードを実行する方法
./solveのLM
ためのLおよびM =入力変数test.cpp
解決は、test.cppのオブジェクト/実行ファイルです。
は私がg ++ます。test.cpp -o
を解決するため、私は
でオブジェクトファイルを作成することができることを知っているが、どのように私は
./solveのLMを作るのですか
仕事??
メイン()は2つの入力を受け取ります。最初の(argc)は入力の数(あなたのケース2、lとm)であり、2つをchar *配列(argv [])に入れます。だから、メインに、あなたは何だろう:
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
cout << "argc = " << argc << endl;
for(int i = 0; i < argc; i++)
cout << "argv[" << i << "] = " << argv[i] << endl;
return 0;
}
読むにはここで、コマンドライン引数を解析します。http://www.site.uottawa.ca/~lucia/courses/2131-05/labs/Lab3/CommandLineArguments.html
私はこれがあなたが走っているCランタイム/プラットフォームに依存していると思います。最初の引数は通常、ほとんどのUnixシステムで実行されているプログラムの名前です。プログラムは引数なしで実行されているので、argcは1です。 –
この作品をありがとうございました..あなたのお役に立てていただきありがとうございます:D – DOOM
コマンドラインからパラメータを受け取るために特別な操作を行う必要はありません。両方とも、私とmはあなたの主な機能ので受け取られます
特に、argc
はargv
のエントリの数を含んでいます。 argv
の最初のエントリは通常プログラムの名前なので、後ろの要素をチェックしたい場合は、その要素があることを確認します。より複雑なプログラムの場合、コマンドライン引数を解析することは苦労かもしれません。この場合、Boost.ProgramOptionsがあなたにとって興味深いかもしれません。
個々の引数のサイズを取得するには、cstdlib
のstrlen
が役に立ちます。
main関数から "parameters"を引き出すことができます。あなたはそれらを解析して、あなたのプログラムのために利用可能な形式になっていることを確認しなければなりません。
int main(int argc, const char* argv[])
のint ARGCは - >引数の量 と一定のchar * argvの[]引数の実際の配列です。 最初の引数はプログラムの名前です。 それからあなたがコマンドラインで書いたすべてのもの。
あなたはarg [1]であり、arg [0]ではありませんか?自分自身についてはほとんど知らないけど、最初のものではなく2番目のインデックスから読むことを確信しています。 – Sidar