Turbo C++ のコマンド ラインから整数値を渡すことができません。私を助けてください。
Kumar
質問する
26831 次
5 に答える
10
引数を実行可能ファイルに文字列としてのみ渡すことができます。std::atoi
文字列を整数に変換するために使用できます。
int main(int argc, const char* argv[])
{
if ( argc > 1 ) {
int i = atoi( argv[1] );
}
return 0;
}
于 2009-09-08T17:35:45.880 に答える
6
コマンド ラインから整数を渡すことはできません。文字列のみを渡します。数値を渡し、::atoi
(または他の変換関数)を使用して整数に変換します
于 2009-09-08T16:58:23.257 に答える
1
なぜあなたがまだ古いコンパイラに固執しているのか、本当に不思議です! 最新のコンパイラに切り替えるのは早ければ早いほどよいのです! とにかく、それを行うためのコードは以下のとおりです。
#include<stdlib.h>
#include<iostream.h>
int main(int lenArgs, char *args[]){
int num = 0;
if (lenArgs > 1){
num = atoi(args[1]);
}
else{
cout<<"Please give an argument to the program!";
return 1;
}
cout<<num<<endl;
return 0;
}
于 2009-12-26T08:52:47.277 に答える
0
これを 1 回だけ渡す場合で、メイン関数に指定できるパラメーターを維持する必要がない場合はchar*
、C++ ランタイムがプログラムに提供するパラメーターを を使用して変換できますint i = atoi( argv[1] )
。
より多くのパラメーターを使用する場合は、それらに名前を付ける方法も必要になるでしょう。次に、関数を見てみる価値がありgetopt
ます。これにより、より柔軟なコマンド ライン パラメータが可能になります。
タイプチェックとロットを可能にするコマンドライン解析フレームワークさえあります。
于 2009-09-08T17:27:46.927 に答える