将NSString转换为char问题

iss*_*sac 8 iphone objective-c

我想将我的NSString转换为常量char,代码如下所示:

NSString *date = @"12/9/2009";
char datechar = [date UTF8String]

NSLog(@"%@",datechar);
Run Code Online (Sandbox Code Playgroud)

但它返回警告赋值使得指针中的整数没有强制转换并且无法正确打印char,有人可以告诉我是什么问题

Joe*_*vin 28

尝试更像这样的东西:

NSString* date = @"12/9/2009";
char* datechar = [date UTF8String];
NSLog(@"%s", datechar);
Run Code Online (Sandbox Code Playgroud)

您需要使用char*而不是char,并且必须使用%s而不是%@打印C字符串(%@仅用于objective-c id类型).

  • UTF8String返回一个const char* (6认同)

Mar*_*ski 8

我想你想用:

const char *datechar = [date UTF8String];
Run Code Online (Sandbox Code Playgroud)

(注意那里的*)