tops

原创 2015年11月17日 18:18:52

字符串类用来处理字符串存储,查找,替换…等等常规功能。

路径类用来处理所有与文件系统路径相关的事情,比如什么把路径分段,拿到文件扩展名,文件是否存在等等。

目录类则用来看某个路径的目录是否存在,是不是为空,等等。

这里一般会有三个类来处理各自逻辑相关的事情,但是,注意但是,Cocoa里面的构建法则不是这样的,它把所有与字符串相关的功能全部封装到了字符串类里面。 所以,NSString可以做的事情超多,从打开文件读取/写入字符串内容,到判断路径是否存在,等等,所有的事情,它都一手包了。 这样倒是方便程序员了,反正一旦有什么事情和字符串有点关系,找它准没错。好了,讲了这么一堆,回过头来看这个问题,如何读写二进制文件?我写了各种类型的数据(整形,浮点,字符串)进去,怎么读出来? 这里提到了二进制对吧,也就是数据对吧,那么好了,找NSData就行了。来看这段小代码,我准备了一个文件路径做演示,还有几个要写进去的数据。

NSString *path = @"/Users/Allen/Desktop/test.dat";

NSString *temp = @"Jarod Yv";

int i = 100;

float f = 98.3333f;

新建了一个可修改的数据存储器NSMutableData,并把上面的几个数据都加进去,后面直接写入文件。 唯一要注意的只有字符串,因为涉及到编码问题,所以我们必须要用字符串本身的方法拿到根据编码生成出来的数据。

NSMutableData *writer = [[NSMutableData alloc] init];

[writer appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]];[writer appendBytes:&i length:sizeof(i)];

[writer appendBytes:&f length:sizeof(f)];

[writer writeToFile:path atomically:YES];

[writer release];

别忘了释放用完的东西。好了,写完成了,让我们看看读 int ii; float ff; NSString *ttemp;

 NSData *reader = [NSData dataWithContentsOfFile:path];

ttemp = [[NSString alloc] initWithData:[reader subdataWithRange:NSMakeRange(0, [temp length])]encoding:NSUTF8StringEncoding];

[reader getBytes:&ii range:NSMakeRange([temp length], sizeof(ii))]; [reader getBytes:&ff range:NSMakeRange([temp length] + sizeof(ii), sizeof(ff))];

NSLog(@"string:%@ int:%i float:%f", ttemp, ii, ff);

[temp release];

[ttemp release];

[path release];

看到吧,一样的简单,同样要注意的只有字符串。

ISSCC 2017论文导读 Session 14:ENVISION: A 0.26-to-10 TOPS/W Subword-Parallel DVAFS CNN Processor in 28nm

ENVISION: A 0.26-to-10 TOPS/W Subword-Parallel Dynamic-Voltage-Accuracy-Frequency-Scalable CNN Proce...
  • xbinworld
  • xbinworld
  • 2017年02月18日 21:48
  • 1689

ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network

最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下。A 2.9TOPS/W Deep Convolutional Ne...
  • xbinworld
  • xbinworld
  • 2017年02月12日 03:29
  • 2855

Unix Study之--AIX系统监控工具tops

Unix Study之--AIX系统监控工具tops topas命令默认2秒更新一次  一、topas命令以区域形式表现系统各项指标性能,如下图: 1、 CPU:反应CPU性能区域,如果...
  • lqx0405
  • lqx0405
  • 2016年02月16日 16:53
  • 654

[caffe笔记010]:使用NetSpec构建网络结构的一些问题

caffe中可以用NetSpec这个Python接口搭建网络结构,然后运行Python代码生成所需要的prototxt文件。可参考FCN的github工程https://github.com/shel...
  • happyflyy
  • happyflyy
  • 2017年11月29日 19:46
  • 146

ISSCC 2017论文导读 Session 14 Deep Learning Processors,DNPU: An 8.1TOPS/W Reconfigurable CNN-RNN

DNPU: An 8.1TOPS/W Reconfigurable CNN-RNN Processor for General-Purpose Deep Neural Networks单位:KAIST...
  • xbinworld
  • xbinworld
  • 2017年02月12日 23:42
  • 1904

2475: Matrix Tops

 2475: Matrix TopsResultTIME LimitMEMORY LimitRun TimesAC TimesJUDGE5s131072K67978StandardThis is an...
  • kongming_acm
  • kongming_acm
  • 2010年07月10日 21:56
  • 209

Favorite Tops 收藏夹 分享好东西

分享好东西
  • Kevin_QQ
  • Kevin_QQ
  • 2016年06月01日 16:19
  • 520

JS-设置弹窗时候禁用滚动条

方法一 启用禁用时,设置js document.documentElement.style.overflowY = 'hidden'; 当还原时候,只需要把属性重置scroll就可以了 documen...
  • u013868665
  • u013868665
  • 2017年12月25日 15:27
  • 45

Facebook makes money, tops 300 million users

SAN FRANCISCO (Reuters) - Facebook is making enough money to cover its costs and now has 300 million...
  • gaoxin830513
  • gaoxin830513
  • 2009年09月16日 09:27
  • 209

OpenCV3.3 DNN简介

如今,在机器视觉领域,深度学习已经是最流行且增长最快的一个方向了。OpenCV自3.1版本其就在contrib中加入了DNN模块。到3.3版本时,将DNN模块由contrib提升到了正式代码块中。在住...
  • guoyunfei20
  • guoyunfei20
  • 2017年10月26日 18:30
  • 108
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tops
举报原因:
原因补充:

(最多只允许输入30个字)