根据我的任务,我必须通过控制台接收用户的输入,以便与NSString
一起使用。
目前我有
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];
这有效,但是我收到了这个警告
将'char [100]'发送到类型参数的指针类型不兼容 'const char '
我不想在代码中出现这些错误,我还想提一下我正在使用Xcode 4.2。
任何人都可以向我解释为什么我收到这些错误,如果我可以克服它们?
非常感谢提前!
答案 0 :(得分:12)
改变这个:
char* name[100];
到
char name[100];
第一个表单创建一个包含100个指针到char
的数组。第二个创建一个包含100个char
元素的数组。可能令人困惑的是,在最后一种情况下name
实际上是一个指针,指向这100个char
元素中的第一个。
答案 1 :(得分:4)
使用NSLog打印时,会指定初始化NSString。
NSLog(@"%s", arrayChar);
NSString *str = [NSString stringWithFormat:@"%s", arrayChar];
NSLog(@"Array to String: %@",str);