How to change char array to NSString

for example, I have a char array:

char array[8]; 

I tried:

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

but displays corrupted characters

+6
source share
2 answers
 char array[5] = {'a', 'b', 'c', 'd', '\0'}; NSString *marketPacket = [NSString stringWithCString:array encoding:NSASCIIStringEncoding]; NSLog(@"%@", marketPacket); 

NSString is a class, and you instantiate it, so you need to put *. If you are creating an array, just fill it in to see something.

+12
source

Change to

NSString *marketPacket

Should have given you a compiler error. It’s strange. At least if you copied and pasted the code, you need a pointer to an NSString (since this is a managed entity).

0
source

Source: https://habr.com/ru/post/897608/


All Articles