必赢亚洲手机app下载


ADB命令

Commander未注册版的范围

iOS学习笔记40

一、日志重定向

咱们在iOS开发进程中,大家常常会利用NSLog打印到控制台的日志音讯举行代码调试,但这么调试的前提是接二连三上Xcode。
即便进展真机调试但还要又无法连接Xcode的时候,就不可以直接在xcode的控制台查看输出日志了,不过程序仍然会举行那个Log的,倘若要查阅这一个日记,大家就需要把出口日志音讯保存到文件中,然后进行查看。

标准NSLog的打印默认是往专业错误(stderr)举办打印的,我们只需要修改NSLog的打印输出路径即可实现日志重定向

以下是日记重定向代码:
#pragma mark - 用户方法,将NSLog的输出信息写入到文件中
/* 将NSlog打印信息保存到Document目录下的文件中 */
- (void)redirectLogToDocumentFolder
{
    // 获取沙盒路径
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
    NSString *documentDirectory = [paths objectAtIndex:0];
    // 获取打印输出文件路径
    NSString *fileName = [NSString stringWithFormat:@"myData.log"];
    NSString *logFilePath = [documentDirectory stringByAppendingPathComponent:fileName];
    // 先删除已经存在的文件
    NSFileManager *defaultManager = [NSFileManager defaultManager];
    [defaultManager removeItemAtPath:logFilePath error:nil];
    // 将NSLog的输出重定向到文件,因为C语言的printf打印是往stdout打印的,这里也把它重定向到文件
    freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+", stdout);
    freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+", stderr);
}

AppDelegateapplication:didFinishLaunchingWithOptions:中调用:

- (BOOL)application:(UIApplication *)application 
        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // 重定向Log日志信息到Document文件中
    [self redirectLogToDocumentFolder];
    return YES;
}

到此地还没结束,因为你的Log日志音信已经打印到了真机应用的沙盒文件中,你还亟需把它拷贝到你的Mac上展开查看,你就需要安装共享文件配置

在应用程序的Info.plist文本中添加UIFileSharingEnabled键,并将键值设置为YES

只要iOS设备插入到用户电脑,iTunes就会在当选设备的Apps标签中显示一个文本分享区域。设置了文件共享后,用户就足以向该目录添加文(加文(Gavin))件或者将文件移动到桌面电脑中。就是说,设置了文件共享后,一旦装备连接上电脑,可以经过iTune查看指定应用程序的共享文件夹,将文件拷贝到你的总括机上看。

766net必赢亚洲手机版 1

766net必赢亚洲手机版 2

二、文件流知识互补

1. 开辟文件

FILE *fp = fopen(文件路径,打开方式);

打开情势:
  • r : 读,假使文件不设有再次回到NULL,存在就打开
  • w : 写,虽然文件存在则覆盖,不存在则开创
  • a : 追加,假使文件存在则扩展,不设有则成立
  • r+ : 在r的底蕴上,多扩张了写的权力
  • w+ : 在w的根基上,多扩大了读的权能
  • a+ : 在a的功底上,多扩展了读的权限
  • t : 文本文件(默认的),结合有rt、wt、at、rt+
  • b : 二进制文件,结合有rb、wb、ab、rb+
2. 文本操作
  1. char ch = fgetc(文件指针);
    效益:从文件中读取一个字符
    【fgetc和getc没有分别,用法也同样】
  1. fputc(字符,文件指针);
    功用:写入一个字符到文件
  2. fgets(字符数组,长度n,文件指针);
    效用:从文件指针指向的文件中读取n-1个字符存到字符数组里,会活动在前面加\0,字符数组用来保存你读取出来的字符串
    【遇到“\n”即刻终止读取】
  3. fputs(字符串,文件指针);
    职能:写入一个字符串到文件指针指向的文本
  4. fread(保存数据的首地址,每块的大小,多少块,文件指针);
    效益:从文件指针指向的文本中分块读取(文件指针),告诉它一遍读取多少块(多少块),每块多大(第二个参数),存到哪(首个参数)
    【它只关注具体读的字节数,不会关注那些投机内部有没有换行 】
  5. fwrite(数据的首地址,每块的大小,多少块,文件指针);
    效益:将数据分块写入到文件指针指向的文书。第一个是告诉系统,写入什么数据,第二个是报告系统每块多少字节,第六个是告诉系统分多少块写入,第两个是写入到哪些文件
  6. fscanf(文件指针,格式化控制符,地址列表);
    功用:格式化读取
  7. fprintf(文件指针,格式化控制符,参数列表);
    效果:格式化写入
  8. freopen(文件路径path, 打开方式mode, 文件指针fp);
    效益:实现重定向,把预定义的标准流文件定向到由path指定的公文中。标准流文件具体是指stdinstdoutstderr。其中stdin766net必赢亚洲手机版,是明媒正娶输入流,默认为键盘;stdout是正规输出流,默认为屏幕;stderr是正经错误流,一般把屏幕设为默认。
3. 闭馆文件

fclose(文件指针);

有哪些问题得以在下方评论区中提议!O(∩_∩)O哈!

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图