ios助手开发系列(四):文件操作系列1 - 获取设备文件信息 AFCFileInfoOpen函数和AFCKeyValueRead函数
来源:互联网 发布:淘宝lee哪家有正品啊 编辑:程序博客网 时间:2024/05/22 00:43
前面的章节中已经讲了:设备监听、设备基本信息获取;
从这一章开始主要是讲一些我们最需要的功能,大概分为:
1、设备文件/文件夹;
2、设备相片;
3、设备应用程序;
4、设备音乐;
5、设备信息(短信、联系人);
以后有新的功能还会补充进来,由于每一个功能都不是一篇文章能够讲完的,都会分为几个小章节;
还有,这个系列的文章不是新手教程,只是给想做这一方面的同志们一份参考资料!
今天的这一章就是第一个功能的第一个小章节:获取设备文件信息
对应要讲的函数:
int AFCFileInfoOpen(HANDLE conn,char* path, HANDLE* data);
int AFCKeyValueRead(HANDLE data,HANDLE* key, HANDLE* value);
说明:
int AFCFileInfoOpen(HANDLE conn,char* path, HANDLE* data);
参数1:设备连接句柄;(不清楚的同志请参阅前面的章节内容)
参数2:设备文件路径参照 "/DCIM/100APPLE/IMG_0006.JPG";(是设备上的文件路径)
参数3:输出参数,返回数据的句柄,下一个函数需要用到;
返回值:0表示成功;
int AFCKeyValueRead(HANDLE data,HANDLE* key, HANDLE* value);
参数1:上个函数中的参数3;
参数2:输出参数;
参数3:输出参数;
返回值:0表示成功;
由于获取的文件信息是一个一个键值对,如 st_time = 198263546165;
所以我们需要一个链表结构保存文件信息:
typedef struct FileInfo{char key[MAX_PATH];char value[MAX_PATH];FileInfo* next;} FI,*PFI;
下面是具体获取设备文件信息函数:
void GetFileInfomation(IOSFI* fi,char* path){FI *fi1,*fi2;fi = NULL;fi1=fi2=(IOSFI *)malloc(sizeof(IOSFI));HANDLE data;int ret = AFCFileInfoOpen(AFC,path,&data);if (ret ==0 && data!=NULL){HANDLE hKey,hValue;hKey = hValue = NULL;while (AFCKeyValueRead(data,&hKey,&hValue)==0 &&hKey!=NULL && hValue!=NULL){fi1=(FI *)malloc(sizeof(FI));strcpy(fi->key,(char *)(hKey));strcpy(fi->value,(char*)(hValue));if (fi == NULL)fi = fi1;elsefi2->next = fi1;fi2 = fi1;}}}
这样就获取到了设备上的文件基本信息,如创建时间,文件大小等等;
对了上面函数中有一个变量AFC是一个HANDLE变量,在下一篇文章中会讲到,是设备文件服务的一个句柄!
转载的人,请注明出处!谢谢!
- ios助手开发系列(四):文件操作系列1 - 获取设备文件信息 AFCFileInfoOpen函数和AFCKeyValueRead函数
- ios助手开发系列(六):文件操作系列3 - 文件上传和文件下载
- ios助手开发系列(五):文件操作系列2 - 操作文件和文件夹所需要开启的服务:AFC服务和AFC2服务
- SetUpDi系列函数获取系统设备信息
- ios助手开发系列(三):打开设备连接,获取设备基本信息
- ios助手开发系列(二):第一步,设备连接
- 对文件操作系列函数详解
- 【iOS开发系列】UIDevice设备信息
- ios开发系列之文件的写入读取,NSUserDefaults存储数据,NSFileManager操作文件和文件夹
- Android获取设备、系统信息系列(1--13)
- 苹果助手开发随笔系列:2、设备连接以及获取设备基本信息
- 获取文件的属性信息及其操作函数
- 【IOS 系列】IOS 开发环境,证书和授权文件是什么?
- linux命令系列四之文件操作
- C++ 之 原子操作 Interlocked系列函数多线程(四)
- Html5 学习系列(四)文件操作API
- Android官方开发文档Training系列课程中文版:分享文件之获取文件信息
- 用SetUpDi系列函数获得系统设备信息
- 字符编码笔记:ASCII,ANSI,Unicode(UTF-8、UCS-2)
- Extjs treeGrid的node的值
- 个人wiki创建配置过程 (debian6.0.6 + apche2 + php5)
- Xinetd 服务中的rdate服务(时间同步服务)
- Word2010如何去除换行符
- ios助手开发系列(四):文件操作系列1 - 获取设备文件信息 AFCFileInfoOpen函数和AFCKeyValueRead函数
- ios开发时,在Xcode中添加多个targets进行版本控制
- 内存分配:堆、栈、全局变量/静态变量、代码区
- ubuntu环境下反编译android apk
- 天乙社区后台管理分析(一)
- C#打造一个开源webgis(二)空间数据库
- 文本文件与二进制文件的区别
- ubunt 安装fcitx-sougoupinyin
- Trac Plugins