文件分割失败
发布于:2016-12-31 22:03
//C语言--文件操作 FileSplit
#include <stdio.h>
//文件分割函数,执行成功返回1,否则返回0
int split(const char * src, const char * dest1, const char * dest2)
{
FILE *fin,*fout1,*four2;//文件指针,分别指向源文件和两个分割文件
int ch; //Int
int ctl = 0; //控制变量
fin = fopen(src,"rb"); //以读取和二进制的方式打开src所指定的文件
fout1=fopen(dest1,"wb");//以写入和二进制的方式打开dest1所指定的文件
fout2=fopen(dest2,"wb");
//判断以上三个文件是否正常打开
if(fin==NULL|| fout1==NULL || fout2==NULL)
return 0;
while((ch = fgetc(fin)) != EOF)//fgetc 从文件当中获取一个字符 EOF end of file文件结尾
{
if(ctl = !ctl1)
fput(ch, fout1);
else
fput(ch, fout2);
}
//关闭上面打开的文件
fclose(fin);
fclose(fout1);
fclose(fout2);
return 1;
}
//合并文件函数,执行成功返回1,否则返回0
int fuse(const char * dest, const char * src1, const char * src2){
FILE *fout,*fin1,*fin2;
int ch;
int ctl = 0;
fin = fopen(dest,"rb");
fout1=fopen(src1,"wb");
fout2=fopen(src2,"wb");
if(fout==NULL|| fin1==NULL || fin2==NULL)
return 0;
while((ch = fgetc(fout)) != EOF)
{
if(ctl = !ctl1)
fput(ch, fin1);
else
fput(ch, fin2);
}
fclose(fout);
fclose(fin1);
fclose(fin2);
return 1;
}
int main(){
//把一个文件分割成两个文件
const char * src ="2016.PNG";
const char * dest1 ="2016_part1.dat";
const char * dest2 ="2016_part2.dat";
if(split(src,dest1,dest2))
printf("You did a Good job!Doctor.C ");//分割成功
return 0;
}
0
今日新帖
0
昨日新帖
5
帖子总数
你的控制变量是不是有问题,我去,你跟着报错的改吧
太深奥看不懂
回复:文件分割失败