iOS で、ネットワーク ストリームから取得した文字列と文字列を比較しようとしています。
ストリームを読み取るコードは次のとおりです。
uint8_t buffer[1024];
int len;
while ([inputStream hasBytesAvailable])
{
len = [inputStream read:buffer maxLength:sizeof(buffer)];
if (len > 0)
{
NSString *output = [[NSString alloc] initWithBytes:buffer length:len encoding:NSASCIIStringEncoding];
[self handleServerResponse: intCommand Response:output];
}else{
[self endComms];
}
}
相手側のサーバーは常に 1024 バイトの応答を生成し、データの最後に chr(0) を配置してバッファを埋めます。
文字列比較を行う場合:
if (strCut==@"B") {
//do something...
}
おそらく、文字列に応答と多くのヌル文字が含まれているため、常に否定的な結果が得られます。
応答を文字列に読み込むときに、バッファから空の文字を削除できるようにしたいのですが、iOS でこれを行うのはうまくいきません。
助けてください!
ありがとう。
デイブ