[英]Help with C printf function
我正在尝试复制NSLog,但是一开始没有所有不必要的日期。 我尝试了以下c函数(我自己做的),但它不会记录不是NSStrings的任何其他值。 请您告诉我我该怎么做才能记录任何值?
static void echo(NSString *fmt, ...) {
printf("<<<<<<<%s>>>>>>>", [fmt UTF8String]);
}
要在C语言中使用可变参数列表,您需要使用一些在编译器随附的stdarg.h头文件中定义的宏。
如果只想将参数传递给真实的printf而不进行进一步的操作,则可以改用printf的vfprintf变体,但需要分别扩展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];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.