二进制文件读写
fscanf:读文件时,可以根据固定格式读取
fprintf:写文件,和printf一样,可以定义输出格式,只是输出到文件中
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main(){
FILE *p = fopen("a.txt","r");
while(!feof(p)){
int a,b;
fscanf(p,"%d + %d =",&a,&b); //文本格式为a + b =,从中截取a,b
printf("%d,%d",a,b);
}
}
void main(){
FILE *p = fopen("a.txt","w");
char buf[100] = "hello world fuck ";
int a=1,b=2;
fprintf(p,"%s,%d,%d",buf,a,b);
fclose(p);
}
fread与fwrite读写二进制文件
上面的函数只能操作字符文件,字符文件每次只能读一行
void main(){
FILE *p = fopen("a.txt","rb"); // 以二进制方式读取
char buf[100] = {0};
fread(buf,sizeof(char),1,p); // 读取字节的缓冲区,读取单位,一次读取几个单位,文件指针
printf("%s\n", buf);
fclose(p);
}