我想從目標c中的字節數組中產生一個字符串。在我的課,我定義了以下常量字符stringWithBytes:length:encoding:正在產生錯誤的字符串長度
static const char HELLO_WORLD[] = {0x68,0x65,0x6c,0x6c,0x6f,0x20,0x77,0x6f,0x72,0x6c,0x64,0x0d,0x0a};
然後我在MyClass的方法,看起來像這樣:
+ (NSString *)stringFromBytes:(const void*)bytes
{
return [[NSString alloc] initWithBytes:bytes length:(sizeof(bytes)/sizeof(bytes[0])) encoding:NSUTF8StringEncoding];
}
,如果我做這個
[MyClass stringFromBytes:HELLO_WORLD];
調用該方法
我得到一個字符串,看起來像「地獄」 - 即時通訊不知道如果我正確地做這個長度的一部分,並即時通訊假設這是問題。有關如何獲得這項工作的任何指導?
謝謝!
不幸的是,這會導致不兼容的指針類型錯誤(向'char'類型的參數發送'const char [9]')。用char或char *取代const char也不行。 –
彈出的錯誤現在是'sizeof on array函數參數將返回'const char *'的大小而不是'const char []' –
檢查編輯答案完美工作現在 –