自己输出日志怎么处理“%@”格式 原先使用NSLog可以用 %@打印对象的description,现在想自己打印日志到指定文件,自己如何实现啊?有没有类似sprintf这样的Cocoa API完成这个使命啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 修改main.m:NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);NSString *appLibraryDir = [paths objectAtIndex:0];NSString *logFilePath = [appLibraryDir stringByAppendingPathComponent:@"log.txt"];freopen([logFilePath fileSystemRepresentation], "w", stderr);int retVal = UIApplicationMain(argc, argv, nil, @"LepaiAppDelegate");[pool release];return retVal; 楼上这样做会把其他输出到stderr的输出也重定位到文件了吧。。偶自己找到了方法了,原来 NSString *str = [[NSString alloc] initWithFormat:format arguments:va]; alog_c(file, line, level, "%s", [str UTF8String]);alog_c是一个原来实现的日志函数。结贴,送分了:) 完整是这样:void alog_objc(const char *file, long line, alogLevel level, NSString *format, ...){ va_list va; va_start(va, format); NSString *str = [[NSString alloc] initWithFormat:format arguments:va]; alog_c(file, line, level, "%s", [str UTF8String]); [str release]; va_end(va);} view隐藏和显示的动画效果 请问:如何调整xcode中加入的控件层次 请问怎样可以实现可以滚动的标签条(tab bar) TabBarController的问题 BMKMapManager.h 提示: Expected identifier or '(' app提交未能通过审核,麻烦大师帮忙看下 用swift写的计算器demo ios屏幕唤醒,进程通知 UITableView的问题 iOS 如何把整个App工程打包为静态库 ? 如何快速删除一个目录下同后缀名的文件 xcode project navigator里面的路径错了怎么办?
NSString *appLibraryDir = [paths objectAtIndex:0];
NSString *logFilePath = [appLibraryDir stringByAppendingPathComponent:@"log.txt"];
freopen([logFilePath fileSystemRepresentation], "w", stderr);int retVal = UIApplicationMain(argc, argv, nil, @"LepaiAppDelegate");
[pool release];
return retVal;
偶自己找到了方法了,原来
NSString *str = [[NSString alloc] initWithFormat:format arguments:va];
alog_c(file, line, level, "%s", [str UTF8String]);alog_c是一个原来实现的日志函数。
结贴,送分了:)
void alog_objc(const char *file, long line, alogLevel level, NSString *format, ...){
va_list va;
va_start(va, format);
NSString *str = [[NSString alloc] initWithFormat:format arguments:va];
alog_c(file, line, level, "%s", [str UTF8String]);
[str release];
va_end(va);
}