将char转换为NSString

时间:2012-02-29 17:24:43

标签: objective-c cocoa

我无法将参数转换为我的Cocoa应用程序的NSString格式。我这样开始我的应用程序:

open my.app --args a1 a2

我尝试像这样访问参数:

const char *h_path_char = [[[[NSProcessInfo processInfo] arguments] objectAtIndex:1] fileSystemRepresentation];
const char *s_path_char = [[[[NSProcessInfo processInfo] arguments] objectAtIndex:2] fileSystemRepresentation];

NSString *h_path = [NSString stringWithUTF8String:h_path_char];
NSString *s_path = [NSString stringWithUTF8String:s_path_char];

NSLog(@"%s", h_path);
NSLog(@"%s", s_path);

然而,Xcode抱怨NSLog并发出以下警告:

  

转换指定类型“char”,但参数的类型为“NSString”。

我怎样才能克服这个?

1 个答案:

答案 0 :(得分:7)

%s适用于C字符串。您应该使用%@代替%sNSString(以及其他基金会类型)输出到NSLog