2010-08-20 60 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

您可以使用UTF8String方法訪問NSString後面的字節。

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

完美,謝謝。 – JamesB41 2010-08-20 19:22:30