Cで文字列を操作する方法がわかりません。
これが私のサーバーの一部です。telnetを介して文字「/」を指定しても、ブレークが呼び出されることはありません。
理想的には、これは、文字列chを特定の文字に到達するまで、またはさらに良いことに文字列に到達するまで何度も追加することによって、getと呼ばれる文字列をバッファリングします(ただし、今は文字で動作するはずですが、i '文字列を使用してそれを行う方法を知りたいので、区切り文字としてCR + LFを使用するプロトコルを設計できます)。
char ch;
int index = 0;
char get[1024];
const char str[] = "/";
if ( read( client, &ch, 1 ) < 0 )
{
perror( "read" );
get[index] = ch;
index++;
int compareResult = strncmp(str, &ch, 5);
if(compareResult == 0){
index = 0;
close( client );
printf( "server responded, connection closed" );
break;
}
}
//if ( write( client, &ch, 1 ) < 0 ) { perror( "write" ); break; }
printf( "got stuff" );
なぜそれは到達しないのですか
printf( "server responded, connection closed" );
ライン?
サーバーの完全なコード:http://pastebin.com/j5tX3TEx