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转换成数字,写入另一个文件
这样做就不需要操作文件指针,基本就是使用解析字符串格式的方法就可以了

posted @ 2021-09-30 11:18  midhillzhou  阅读(76)  评论(0编辑  收藏  举报