fread实现函数
fgetc函数
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{//打开文件FILE * fp=fopen("./1.txt", "r");if(NULL == fp){perror("获取文件失败");return -1;}//读取文件//创建一个缓冲区char * buf = calloc(1,1);if (buf == NULL) {perror("内存分配失败");fclose(fp);return -1;}size_t ret = fread(buf, 1, 1 , fp);printf("%c\n",buf[0]);free(buf); fclose(fp);return 0;
}

fgets函数
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{if(argc!=2){printf("请输入需要长度的参数");return 0;}//打开文件FILE * fp=fopen("./1.txt", "r");if(NULL == fp){perror("获取文件失败");return -1;}// 使用 strtol 转换字符串为长整型char *endptr;//读取文件//创建一个缓冲区char * buf = calloc(20,50);if (buf == NULL) {perror("内存分配失败");fclose(fp);return -1;}while(1){memset(buf,0,100);size_t ret = fread(buf, 20, 5, fp);//读取到的块数for(int i=0;i<strtol(argv[1], &endptr, 10);i++){if(buf[i]=='\n')break;else printf("%c",buf[i]); }if(ret == 0){break;}}putchar(10);free(buf);fclose(fp);return 0;
}

fwrite实现函数
fputc函数
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{if(argc!=3){printf("请输入内容 文件地址");return 0;}//打开文件FILE * fp=fopen(argv[2], "w");if(NULL == fp){perror("获取文件失败");return -1;}char *buf =argv[1];fwrite(buf,1,1,fp);putchar(10);fclose(fp);return 0;
}

fputs函数
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{if(argc!=3){printf("请输入内容 文件地址");return 0;}//打开文件FILE * fp=fopen(argv[2], "w");if(NULL == fp){perror("获取文件失败");return -1;}char *buf =argv[1];fwrite(buf,strlen(buf),1,fp);fclose(fp);return 0;
}
