2016-04-08 9 views
-1

引数を1つ与えるまで、プロンプトを続ける必要があります。私は内部にbreakステートメントを持つwhile(1)ループを持っていますが、2つの引数を指定して実行すると早く終了します。終了する代わりにプロンプ​​トを続けるにはどうすればよいですか?私はこのような何かやりたい:正しい引数の数を求めるプロンプトを繰り返します。

bool flag = true; 
while(flag) 
{ 
// ..code 
flag = false; 
} 

をそれはこれは私がこれまで持っているものであるC.では動作しません。

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

    while(1) 
    { 
     if(argc == 2) 
     { 
      reverse(argv[1]); 
      printf("Reversed string: %s\n", argv[1]); 
     } 
     else 
     { 
      printf("Error, wrong number of arguments. Please provide only one argument"); 

     } 

     break; 

    } 

    return 0; 
} 

期待通りにbreak文を削除しようとしましたが、無限ループが発生しましたが、入力引数の実行が「一時停止」しませんでした。

+1

あなたは入力を受け取ったと思いますか? – Prabhu

+0

コマンドライン引数ではなくユーザー入力を取得したい場合は、ここにいくつかの記事で解説されている解決策がたくさんあります。例:http://stackoverflow.com/questions/9278226/which-is-the-best-wayユーザーからの入力を取得する。あなたが本当にコマンドラインの引数を意味するなら、@Transcendentalからの答えを読んでください –

答えて

3

これはできません。コマンドライン引数は、起動時にプログラムに渡されます。そのような議論をもっと求めることはできません。あなたができることは、1つの引数だけでプログラムを実行するようにユーザーに通知することです。 2番目の引数が不要な場合は無視することをお勧めしますが、必要でないことをユーザーに通知します。

関連する問題