当前位置 博文首页 > yingkoz的专栏:XCode中使用C语言文件操作
首先导入头文件:
#include <stdio.h>
#include <stdlib.h>
文件操作:
//得到文件的绝对路径,path是相对路径,通过下面的操作就得到了绝对路径abspath
NSString* abspath = [[NSBundle mainBundle] pathForResource:path ofType:nil];
//但是abspath是NSString类型的,要传给c语言的文件使用,还要转化为c的字符串(char*)
int len = [abspath length];
char* buffer = (char*)malloc(sizeof(char) * len + 1);
BOOL val = [abspath getCString:buffer maxLength:len + 1 encoding:NSUTF8StringEncoding];
//得到c的字符串buffer
NSLog(@"val : %d",val);
NSLog(@"path : %s",buffer);
//打开文件名为path,绝对路径为abspath的文件
FILE* fp = fopen(buffer, "r");
//下面是读取2进制文件代码
int numint;
int* pdataint;
numint = 1;
pdataint = (int*)malloc(sizeof(int) * numint);
fread(pdataint, sizeof(int), numint , fp);
int codex = pdataint[0];
NSLog(@"codex : %d",codex);
free(pdataint);
...
//最后记得关闭文件
fclose(fp);
其他文件操作函数
//fseek(FILE *fp,long 偏移量,int 开始位置(SEEK_END/SEEK_SET));
//fwrite(void* 数据缓存,int 一个单位的长度,int 单位的个数,FILE *fp);