2010-08-20 2 views
1

일부 소켓 통신을 수행하는 응용 프로그램을 만드는 중입니다 (쓰기 전용).CFWriteStreamWrite를 사용하는 UInt8/NSString

나는 정적 값으로 작동하도록 할 수 있습니다

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

내가 C/오브젝티브 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

관련 문제