2011-09-19 12 views
6

Na przykład mam tablicę char:jak zmienić tablicę char do NSString

char array[8]; 

Próbowałem:

NSString *marketPacket = [NSString stringWithCString:array encoding:NSASCIIStringEncoding]; 
NSLog(@"%@",marketPacket); 

ale wyświetla uszkodzonych znaków

+1

Dla każdego, kto przyjeżdża tutaj i jest zdezorientowany odpowiedziami: OP nie miał znaku * przed 'marketPacket' w pierwotnej wersji tego pytania, ale zmienił to później, czyniąc całe pytanie bezcelowym. – colincameron

+1

Jest to również pierwszy wynik Google dla "nsstring z tablicy char" – colincameron

+0

Nie mam pojęcia, dlaczego to było zamknięte. Zbyt zlokalizowane? –

Odpowiedz

0

zmienić na

NSString *marketPacket

Powinieneś podać błąd kompilatora. Dziwne. Przynajmniej zakładając, że skopiowałeś i wkleiłeś kod, potrzebujesz wskaźnika do NSString (ponieważ jest to Obiekt Zarządzany).

12
char array[5] = {'a', 'b', 'c', 'd', '\0'}; 
NSString *marketPacket = [NSString stringWithCString:array encoding:NSASCIIStringEncoding]; 

NSLog(@"%@", marketPacket); 

NSString jest klasa i utworzyć instancję, więc trzeba umieścić *. Jeśli utworzysz tablicę, zapełnij ją, aby zobaczyć coś ..