1

コマンドラインからc++コードsay(test.cpp)を実行する方法:

./solve lm

ここで、lおよびm=test.cppの入力変数

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

私はオブジェクトファイルを作成できることを知っています

g ++test.cpp-o解決

でもどうやって作るの?

./solve lm

仕事 ??

4

4 に答える 4

2

Main()は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

于 2012-05-03T03:39:55.087 に答える
1

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

于 2012-05-03T03:37:45.780 に答える
1

メイン関数から「パラメータ」を引き出すことができます。それらを解析して、プログラムで使用できる形式であることを確認する必要があります。

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

int argc -> 引数の量と定数 char* argv[] は引数の実際の配列です。最初の引数はプログラムの名前であることに注意してください。次に、コマンドラインで書き込んだ他のすべてのもの。

于 2012-05-03T03:41:37.460 に答える
0

特に、argcにはエントリの数が含まれますargv。の最初のエントリargvは通常、プログラムの名前であるため、要素がある場合は、その後の要素を確認する必要があります。より複雑なプログラムの場合、コマンドライン引数の解析は面倒な場合があります。この場合、Boost.ProgramOptionsが重要になる可能性があります。

個々の引数のサイズを取得するために、strlen役立つcstdlibことがあります。

于 2012-05-03T03:39:31.017 に答える