2011-10-24 5 views
-1

私は入力がユーザーから取られたときに無限ループから出てくるためにロジックをビルドしようとしています。そうでなければループを続けます。しかし、ループが停止し、プログラムが入力待ちになります。 友人は私を助けて、ロジックを実装するためのアイディアを提案することができます。 osはLinuxコードで、条件が満たされていれば待っています。cプログラミングロジック

while(1) { 
    recv(sock,&data,sizeof(data),0); 
    printf("\nthe recieved data from the server is: %d\n",data); 
    fflush(stdout); 

    if (scanf("%c",&control)==1 && control=='b') 
    { 
     send(sock,&control,1,0); 
     break; 
    } 
    else continue; 
} 
+5

あなたはこれまで何を持っていますか?それはどのように機能しませんか? –

+5

コードを見ずに本物の質問を理解するのは難しいです。 –

+1

どのオペレーティングシステムですか?ユーザー入力のためのノンブロッキング読み取りの実行方法は、プラットフォームによって異なります。 – indiv

答えて

0

おそらく、ユーザー入力を取得するためにブロッキング機能を使用しているので、プログラムは、ユーザ入力の何かまで、その機能に停止します。

+0

私はユーザー入力用のノンブロッキング機能を提案できます – tod

+0

別スレッドで入力を待つことができます。また、このリンクを見て:http://cc.byexamples.com/2007/04/08/non-blocking-user-input-in-loop-without-ncurses/ –

+0

http://stackoverflow.com/質問/ 448944/c-non-blocking-keyboard-input –

関連する問題