const char *string ="Hi there,this is a C string";
NSData *data=[NSData dataWithBytes:string
length:strlen(string)+1];
NSLog(@"data is %@",data);
NSLog(@"%lu byte string is '%s'",[data length],[data bytes]);
これはうまく暗示することができます。最後の文が次の場合:
NSLog(@"%d byte string is '%s'",[data length],[data bytes]);
変換で型 'int' が指定されているが、引数の型が 'NSUInteger' (aka'ussigned long') であることを警告します。
なぜ%d
できないのですか?