2009-04-23 9 views
0

改行を抑制するには%[^ \ n]を使用します。入力時に空白をスキップする形式、つまり「hallo stackflow」を入力する必要がある場合は、何を入力する必要があるかを提案できますか。私はfgetsを知っているが、私はそれらを使用したくない、彼らは問題を作成しています。scanfによる入力時の空白の表示を抑制する

+1

あなたはより明確にする必要があります。彼らはどんな種類の問題を作りますか?ノンブロッキング入力が必要な場合はそうです。 – unwind

+0

お願いします。 – Tom

+0

fgetsは新しい行の後にever.evenを待っています。それはline.iを受信して​​いません.eofまたは改行.amまでチャットプログラムでこれを使用して、client-server.onサーバー側では期待通りに終了します。クライアント側ではブロックされています。 – mawia

答えて

0

scanf形式で空白を入れます。それは空白を抑制する。

1

私はあなたが "空白を含む"と思います。使用:

#define str(x) #x 
#define xstr(x) str(x) 
/* ... */ 
char buf[ SIZE + 1 ] = ""; 
int rc = scanf("%" xstr(SIZE) "[^\n]%*[^\n]", buf); 
/*you may need the return value later on, if reading 
    in multiple strings with whitespaces in a loop */ 
if (!feof(stdin)) 
    getchar(); /* consume newline */ 
関連する問題