2012-05-03 16 views
1

は(TEST.CPP)を言う変数入力とC++プログラムの実行として:は、コマンドラインからのC++コードを実行する方法

./solveのLM

ためのLおよびM =入力変数test.cpp

解決は、test.cppのオブジェクト/実行ファイルです。

は私がg ++ます。test.cpp -o

を解決するため、私は

でオブジェクトファイルを作成することができることを知っているが、どのように私は

./solveのLMを作るのですか

仕事??

+0

あなたはarg [1]であり、arg [0]ではありませんか?自分自身についてはほとんど知らないけど、最初のものではなく2番目のインデックスから読むことを確信しています。 – Sidar

答えて

2

メイン()は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

+0

私はこれがあなたが走っているCランタイム/プラットフォームに依存していると思います。最初の引数は通常、ほとんどのUnixシステムで実行されているプログラムの名前です。プログラムは引数なしで実行されているので、argcは1です。 –

+0

この作品をありがとうございました..あなたのお役に立てていただきありがとうございます:D – DOOM

1

コマンドラインからパラメータを受け取るために特別な操作を行う必要はありません。両方とも、私とmはあなたの主な機能ので受け取られます

0

特に、argcargvのエントリの数を含んでいます。 argvの最初のエントリは通常プログラムの名前なので、後ろの要素をチェックしたい場合は、その要素があることを確認します。より複雑なプログラムの場合、コマンドライン引数を解析することは苦労かもしれません。この場合、Boost.ProgramOptionsがあなたにとって興味深いかもしれません。

個々の引数のサイズを取得するには、cstdlibstrlenが役に立ちます。

1

main関数から "parameters"を引き出すことができます。あなたはそれらを解析して、あなたのプログラムのために利用可能な形式になっていることを確認しなければなりません。

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

のint ARGCは - >引数の量 と一定のchar * argvの[]引数の実際の配列です。 最初の引数はプログラムの名前です。 それからあなたがコマンドラインで書いたすべてのもの。

関連する問題