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];
}