繁体   English   中英

帮助C printf函数

[英]Help with C printf function

我正在尝试复制NSLog,但是一开始没有所有不必要的日期。 我尝试了以下c函数(我自己做的),但它不会记录不是NSStrings的任何其他值。 请您告诉我我该怎么做才能记录任何值?

static void echo(NSString *fmt, ...) {
    printf("<<<<<<<%s>>>>>>>", [fmt UTF8String]);
}

要在C语言中使用可变参数列表,您需要使用一些在编译器随附的stdarg.h头文件中定义的宏。

这是有关如何编写自己的printf的详细说明

如果只想将参数传递给真实的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM