2010-08-20 2 views
1

Попытка создать приложение, которое выполняет некоторую передачу сокетов (только для записи).UInt8/NSString с CFWriteStreamWrite

я могу заставить его работать со статическим значением:

UInt8 buf[] = "play"; 
int bytesWritten = CFWriteStreamWrite(writeStream, buf, strlen((char*)buf)); 

Я родственник неофита C/Objective-C, и я пытаюсь выяснить, как пройти NSString к функции и получить значение в «buf».

-(void) sendData: (NSString *) command { 
    UInt8 buf[] = ????; 
    int bytesWritten = CFWriteStreamWrite(writeStream, buf, strlen((char*)buf)); 
} 

Очевидно, что это больше, чем просто изолировать соответствующий код.

ответ

4

Вы можете получить доступ к байтам за NSString, используя метод UTF8String.

CFWriteStreamWrite(writeStream, 
        (const UInt8 *)[command UTF8String], 
        [command lengthOfBytesUsingEncoding:NSUTF8StringEncoding]); 
+0

Отлично, спасибо. – JamesB41

Смежные вопросы