scanfで文字列に空白を入力する方法がありますか? 改行を除いて入力するのにこの[^ \ n]を使用していますが、問題はたくさんありますそれは入力buffer.whatを取得し、関数fgetsは多くの問題を作成している.both入力文字列への最善の方法がある中で、保存されているように見えるとして、これは無限ループを作成している入力文字列scanf
while(strcmp(buf,"quit"))
{
scanf("%*[^\n]",buf);
n=send(connected,buf,strlen(buf),0);
if(n<0)
{
perror("send");
printf("error sending");
exit(1);
}
//printf("server has send\n");
n=recv(connected,buf,100,0);
if(n<0)
{
perror("recv");
printf("error recieving");
exit(1);
}
//printf("waiting to recieve something\n");
buf[n]='\0';
printf("client:%s\n",buf);
}
同じことを何度も何度も繰り返され、 。あなたが持つ悩みを持っているすべてが空行である場合は、入力のラインを読むこと
オフセット= DEFAULT_BUFFER *反復 - 反復; は、この行は、単純に次のようになります。オフセット= DEFAULT_BUFFER *反復 – mawia
Cがリテラルの改行に「%※[^ \ n]は」における「\ n」の文字を変換します。それがうまく機能するようにするには、スラッシュを強調表示する必要があります: "%* [^ \\ n]"。 あなたはあなた.how%※[^ \\ n]は%※[^ \\ n]はより良く動作するの上記の行を説明できますか? – mawia
あなたは、コードがすべてのiteration.iは、このようなwatageがどこにあるか、あなたが指摘wastage.canそのようなを参照してくださいいけないバイトの一定量を無駄にすることを言及しましたか? – mawia