fopen
FILE* fopen(const char* psth,const char* mode);
第一参数:路径
第二参数:指定操作(r,r+,w,w+…)
返回值:失败空,成功文件流指针
fwrite
size_t fwrite(const void* ptr,size_t size,size_t nmemb,FILE* stream)
第一参数:要写到文件里的空间地址
第二第三:块大小,块个数
第四参数:文件流指针
返回值:失败0,成功快个数
fread
size_t fread(void* ptr,size_t size,size_t nmemb,FILE* stream)
第一参数:存放读取内容的缓冲区
其他的和fwrite一样
返回值:成功返回块个数,失败返回0,读到文件末尾返回0,不足一块也返回0
建议写为1(块大小)
fseek
off_t lseek(int fd,off_t offset,int whence);
第一参数:文件流指针
第二次参数:偏移量(字节)
第三参数:三个宏对应三个光标
fclose
close(int fd)
参数:文件流指针
示例:
1 #include<stdio.h>
2 #include<string.h>
3 int main(){
4 FILE* f=fopen("./bite.text","w+");
5 if(f==NULL){
6 perror("fopen error");
7 return -1;
8 }
9 fseek(f,0,SEEK_CUR);
10 char arr[]="linux so easy!";
11 int ret=fwrite(arr,strlen(arr),1,f);
12 if(ret==0){
13 perror("fwrite error");
14 return -1;
15 }
16 printf("%d\n",ret);
17
18 fseek(f,0,SEEK_SET);
19 char str[1024]={0};
20 ret=fread(str,1,1023,f);
21 if(ret==0){
22 perror("fread error");
23 }
24 printf("%s\n--%d\n",str,ret);
25 fclose(f);
26 return 0;
27 }