必赢亚洲手机app下载


766net必赢亚洲手机版HUAWEIC5新手必读

IOS开发支付宝集成

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标签中浮现2个文本分享区域。设置了文件共享后,用户就足以向该目录添加文件恐怕将文件移动到桌面电脑中。就是说,设置了文件共享后,一旦装备连接上电脑,可以通过iTune查看指定应用程序的共享文件夹,将文件拷贝到你的处理器上看。
图片 1
图片 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没有区分,用法也一如既往】
  2. fputc(字符,文件指针);
    功能:写入3个字符到文件
  3. fgets(字符数组,长度n,文件指针);
    效率:从文件指针指向的文书中读取n-2个字符存到字符数组里,会自动在末端加\0,字符数组用来保存你读取出来的字符串
    【遇到“\n”立时停止读取】
  4. fputs(字符串,文件指针);
    成效:写入七个字符串到文件指针指向的文书
  5. fread(保存数据的首地址,每块的大小,多少块,文件指针);
    成效:从文件指针指向的文件中分块读取(文件指针),告诉它三次读取多少块(多少块),每块多大(第四个参数),存到哪(第1个参数)
    【它只关怀具体读的字节数,不会关切这个投机之中有没有换行 】
  6. fwrite(数据的首地址,每块的大小,多少块,文件指针);
    效能:将数据分块写入到文件指针指向的文书。第一个是报告系统,写入什么数据,第四个是告诉系统每块多少字节,第二个是报告系统分多少块写入,第七个是写入到哪个文件
  7. fscanf(文件指针,格式化控制符,地址列表);
    效率:格式化读取
  8. fprintf(文件指针,格式化控制符,参数列表);
    作用:格式化写入
  9. freopen(文件路径path, 打开方式mode, 文件指针fp);
    效果:达成重定向,把预约义的标准流文件定向到由path指定的文件中。标准流文件具体是指stdinstdoutstderr。其中stdin是专业输入流,默认为键盘;stdout是业内输出流,默许为屏幕;stderr是正式错误流,一般把显示屏设为暗许。
3. 关闭文件

fclose(文件指针);

有哪些难点可以在下方评论区中指出!O(∩_∩)O哈!

相关文章

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