-3
  1. Objective-C で読み取りストリームからデータを読み取るにはどうすればよいですか? 以下のコードは、ストリームから読み取られたバイト数を教えてくれますが、どのデータがストリームから読み取られたかを知るにはどうすればよいでしょうか?

    CFIndex cf = CFReadStreameRead(Stream, buffer, length);
    
  2. Objective-C の読み取りストリームで最初の 2 バイトのデータのみを抽出するにはどうすればよいですか? たとえば、これがストリームからのデータである場合:

    017MacApp
    

    1 バイト目には 0、2 バイト目には 17 が入ります。

    0 と 17 をバイト配列に抽出するにはどうすればよいですか?

以下のコードは、バイト配列を int 値に戻すことを知っています。

((b[0] & 0xFF) << 8)+ (b[1] & 0xFF);

しかし、0 を b[0] に、17 を b[1] に入れる方法は?

4

1 に答える 1

0
uint8_t buffer[2];
CFIndex cf = CFReadStreamRead(Stream, buffer, 2);
if (cf == 2)
{
    uint8_t firstByte = buffer[0];
    uint8_t secondByte = buffer[1];
}
else
{
    // cf == -1 => error, cf == 0 => end of file, cf == 1 => you need to call again to get the second byte
}

これがアップルのドキュメントです。

于 2010-04-23T16:05:06.223 に答える