0
我想重复NSLog但没有在开始时所有不必要的日期。我尝试了下面的c函数(我自己做的),但它不会记录任何不是NSStrings的其他值。请你能告诉我如何做到这一点,以便记录任何价值?帮助C printf函数
static void echo(NSString *fmt, ...) {
printf("<<<<<<<%s>>>>>>>", [fmt UTF8String]);
}
我想重复NSLog但没有在开始时所有不必要的日期。我尝试了下面的c函数(我自己做的),但它不会记录任何不是NSStrings的其他值。请你能告诉我如何做到这一点,以便记录任何价值?帮助C printf函数
static void echo(NSString *fmt, ...) {
printf("<<<<<<<%s>>>>>>>", [fmt UTF8String]);
}
要在C可变参数参数列表,你需要使用附带的编译器STDARG.H头文件中定义的几个宏。
here is a detailed explanation of how to write your own printf
如果你只是想给参数传递给无需进一步处理就可以用printf代替vfprintf变种真正的printf,但你需要单独延长FMT参数:
static void echo(NSString *fmt, ...)
{
va_list args;
NSString *logfmt = [NSString stringWithFormat: @"<<<<<<<%s>>>>>>>", [fmt UTF8String]];
va_start (args, fmt);
vfprintf(stdout, [logfmt UTF8String], args);
va_end (args);
[logfmt release];
}