簡體   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