如何将NSString传递给调用printf的函数?

时间:2016-06-19 02:47:11

标签: ios objective-c c cocoa nsstring

我试图将NSString和args列表传递给printf,但编译器对NSString不是常量

感到不满意

我希望有这样的功能:

+ (void)logFormat:(NSString *)format logArguments:(va_list)args {
    printf(format,args);
}

有没有办法以这样的方式标记参数NSString,使其成为我想要做的事情"安全"?

编辑:我尝试将参数声明为const NSString *,但这也不起作用。

1 个答案:

答案 0 :(得分:1)

您需要使用NSString的{​​{1}}来创建完全格式化的stringWithFormat:arguments:对象,然后通过NSString写出该内容。

由于它是完全格式化的,您也可以直接通过printf将其直接转储到stdout或使用fwrite()