【发布时间】:2016-06-19 02:47:11
【问题描述】:
我正在尝试将 NSString 和 args 列表传递给 printf,但编译器对 NSString 不是常量感到不满
我想要一个这样的功能:
+ (void)logFormat:(NSString *)format logArguments:(va_list)args {
printf(format,args);
}
有没有办法标记参数 NSString 以使我正在尝试做的事情“安全”?
编辑:我尝试将参数声明为 const NSString * 但这也不起作用。
【问题讨论】:
-
试试
printf(format.UTF8String, args);。 -
@Avi 如果格式字符串中包含 '%@' 序列,则会失败。
-
这不是因为
printf()的限制吗?换句话说,这不是与 OP 的方法无关的问题吗?
标签: ios objective-c c cocoa nsstring