대물 렌즈 c의 바이트 배열에서 문자열을 생성하려고합니다. 내 클래스 내에서, 나는 다음과 같은 일정한 문자를 정의stringWithBytes : length : encoding : 문자열의 길이가 잘못되었습니다.
static const char HELLO_WORLD[] = {0x68,0x65,0x6c,0x6c,0x6f,0x20,0x77,0x6f,0x72,0x6c,0x64,0x0d,0x0a};
I는 다음과 같습니다 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]'전송). const char을 그냥 char 또는 char * doesnt로 바꾸면 ... –
팝업 오류가 이제 'sizeof of array function 매개 변수는'const char [] '대신'const char * '크기를 반환합니다. –
편집 된 답변이 완벽하게 작동하는지 확인하십시오 지금 –