标准IO:分别用fgetc与fputc,fgets与fputs,fread与fwrite实现文件的复制

xiaoxiao2021-02-27  221

这里向大家分享几种文件IO复制文件的方法,若有不对,让您见笑了,若对您有点帮助,那就太好了。 1.用fgetc与fputc实现文件复制。

#include<stdio.h> int main(int argc, char *argv[]) { FILE *fp1; FILE *fp2; int ch; if (argc < 3) { printf("Usage:%s <one_file> <others_file>",argv[0]); return -1; } if ((fp1 = fopen(argv[1],"r")) == NULL) { perror("fopen\n"); return -1; } if ((fp2 = fopen(argv[2],"w+")) == NULL) { perror("fopen1\n"); return -1; } while ((ch = fgetc(fp1)) != EOF) { fputc(ch,fp2); } return 0; }

2.用fgets与fputs实现文件复制。

#include<stdio.h> #define N 64 int main(int argc, char *argv[]) { FILE *fp1; FILE *fp2; char buf[N]; if (argc < 3) { printf("Usage:%s <one_file> <others_file>",argv[0]); return -1; } if ((fp1 = fopen(argv[1],"r")) == NULL) { perror("fopen\n"); return -1; } if ((fp2 = fopen(argv[2],"w+")) == NULL) { perror("fopen1\n"); return -1; } while (fgets(buf,N,fp1) != NULL) { fputs(buf,fp2); } fclose(fp1); fclose(fp2); return 0; }

3.用fread与fwrite实现文件复制。

#include<stdio.h> #define N 64 int main(int argc, char *argv[]) { FILE *fp1; FILE *fp2; char buf[N]; int n; if (argc < 3) { printf("Usage:%s <one_file> <others_file>",argv[0]); return -1; } if ((fp1 = fopen(argv[1],"r")) == NULL) { perror("fopen\n"); return -1; } if ((fp2 = fopen(argv[2],"w+")) == NULL) { perror("fopen1\n"); return -1; } while ((n = fread(buf,sizeof(char),N,fp1)) > 0) { fwrite(buf,sizeof(char),n,fp2); } fclose(fp1); fclose(fp2); return 0; }
转载请注明原文地址: https://www.6miu.com/read-16790.html

最新回复(0)