linux 库函数

创建一个文件,以写打开,持续写

FILE *fp;

fp = fopen("/var/data.xml","w");

fprintf(fp,"%s %s","str1","str2");

fprintf(fp,"str3");

备注:如果/var/data.xml存在,则清除所有内容,并打开

复制一个文件到某处

int count;

FILE *fp5,*fp6;

char bufCopy[1024];

fp5 = fopen("/home/web/topbar.gif","r");

fp6 = fopen("/var/topbar.gif","w");

while(count=fread(bufCopy,1,sizeof(bufCopy),fp5)) {

fwrite(bufCopy, 1, count, fp6);

}

fclose(fp5);

fclose(fp6);

备注:如果将fwrite中的count变为sizeof(bufCopy),可能会出现拷贝后的文件小于源文件

检查某个文件是否存在

if((access("/var/topbar.gif",F_OK))!=-1){

printf("topbar.gif exist\n");

}else{

printf("topbar.gif not exist\n");

}

打开某个文件,并从中读取数值

FILE *in = fopen("/proc/uptime", "r");

long uptime = 0, a, b;

if (in) {

if (2 == fscanf(in, "%ld.%ld", &a, &b))

将整数转换为字符

sprintf (xString, "%02X%02X%02X%02X%02X%02X", macAddr[0],

读取文件一行并解析其中的数字

假设该文件是文本方式

1、每次读一行,用fgets

2、假设都是以空格分隔,用sscanf从刚才fgets读到的字符串中取出一段

3、对其中的字符用isdigital判断是否都为数字,如果是,就atoi转换成数字,写入另一个文件

这样做就不需要操作文件指针,基本就是使用解析字符串格式的方法就可以了