今日、cプログラミングで奇妙な問題に遭遇しました。サーバークライアント通信用のプログラムを作成し、それに文字列比較関数を適用しましたが、文字列をbuf内のものと比較すると、この関数は機能しません。また、bufのデータが数回の反復後に入力したものと異なるかどうかを確認しましたが、結果は否定的であり、データは入力したものと同じです。では、なぜ機能しないstrcmp
のですか。コードは次のとおりです。
char buf[1024];
while(1)
{
int readbytes=read(communFd,buf,1024);
write(STDOUT_FILENO,buf,readbytes);
if(!strcmp(buf,"exitChat"))
{
printf("Chat terminating...\n");
break;
}
}
よろしく