C语言实现文件分割功能
Posted Y4tacker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言实现文件分割功能相关的知识,希望对你有一定的参考价值。
首先要实现这个功能,一开始便要知道要分割的文件的文件大小
int sizefile(FILE *fp)
int sizef=0;
while(!feof(fp))
fgetc(fp);
sizef++;
rewind(fp);
return sizef-1;
上面这个函数实现了文件大小读取,唯一要注意的是,要将指针重新放回头部;
#include<stdio.h>
#include<stdlib.h>
int sizefile(FILE *fp);
int main()
FILE *fp1 = fopen("1.txt","rb");
FILE *fp2;
int n; //储存文件大小的变量
int d = 1; //用于记录每个字节的复制情况
int k; //k为分割文件的个数
int j=1; //中止条件(具体看下面代码,很简单 除了while循环)
char name[50];
if(fp1==NULL)
puts("Error!!!");
printf("分割文件个数:");
scanf("%d",&k);
n = sizefile(fp1);
printf("%d",n);
while(j<=k)
printf("输入:");
scanf("%s",name);
if((fp2=fopen(name,"wb"))==NULL)
puts("Error");
return 0;
//下面这个保证了每次只将1/n的部分复制到指定文件
while(d<=n*j/k)
fputc(fgetc(fp1),fp2);
d++;
j++;
int sizefile(FILE *fp)
int sizef=0;
while(!feof(fp))
fgetc(fp);
sizef++;
rewind(fp);
return sizef-1;
其实,也很简单,看不懂的部分下面留言吧,我会回复的!!!
以上是关于C语言实现文件分割功能的主要内容,如果未能解决你的问题,请参考以下文章