Sorry to necro an old issue but (I've searched high and low for an answer to this) I noticed that the solution below does not work if the user enters spaces and multiple words. Surely a character array can accept spaces? If the user types a sentence, it only captures the first word:
char name[100]; // declaring char array
NSString *firstName; // declaring the NSString
printf("Please enter first name \n");
printf("=> ");
scanf("%s", name);
firstName = [NSString stringWithCString:name encoding:NSASCIIStringEncoding];