2011-09-19 17 views
6

por ejemplo tengo una matriz de caracteres:cómo cambiar la matriz de caracteres a NSString

char array[8]; 

Traté:

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

pero muestra caracteres dañados

+1

Para cualquier otra persona que venga aquí confundida por las respuestas: la OP no tenía una * antes de 'marketPacket' en la versión original de esta pregunta, pero lo cambió más tarde haciendo que toda la pregunta no tenga sentido. – colincameron

+1

Además, este es el primer resultado de Google para "nsstring from char array" – colincameron

+0

No hay idea de por qué esto se cerró. ¿Demasiado localizado? –

Respuesta

0

Cambio a

NSString *marketPacket

Debería haberle dado un error de compilación, en realidad. Extraño. Al menos, suponiendo que copió y pegó el código, necesita un puntero a NSString (ya que es un Objeto Administrado).

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

NSLog(@"%@", marketPacket); 

NSString es una clase y usted crea una instancia de la misma, por lo que debe colocar un *. Si crea una matriz, solo rellenela para ver algo ...

Cuestiones relacionadas