2 回答
TA贡献1810条经验 获得超4个赞
首先,c中有且仅有一个主函数,所以第一步,你必须的把两个函数改成其他名字:
#include <stdio.h>
int function1()
{
int len=0;
int len2=0;
FILE* stream;
FILE* stream1;
FILE* stream2;
char buf[50];
char buf1[50];
char buf2[50];
char text[1024];
printf("input anfile path to open:");
scanf("%s",buf);
stream=fopen(buf,"r+");
fseek(stream,0,SEEK_END);
len=ftell(stream);
printf("the file %s length is %d!\n",buf,len);
len2 = len/2;
printf("intput 2 file name: \n");
scanf("%s%s",buf1,buf2);
fseek(stream,0,SEEK_SET);
stream1=fopen(buf1,"w+");
stream2=fopen(buf2,"w+");
fread(text,len2,1,stream);
fwrite(text,len2,1,stream1);
fread(text,len-len2,1,stream);
fwrite(text,len-len2,1,stream2);
fclose(stream);
fclose(stream1);
fclose(stream2);
return 0;
}
int function2()
{
int len=0;
int len2=0;
FILE* stream;
FILE* stream1;
char buf[50];
char buf1[50];
char text[1024];
printf("input anfile path to open:");
scanf("%s",buf);
stream=fopen(buf,"r+");
fseek(stream,0,SEEK_END);
printf("intput another file name: \n");
scanf("%s",buf1);
stream1=fopen(buf1,"r+");
fseek(stream1,0,SEEK_END);
len=ftell(stream1);
fseek(stream1,0,SEEK_SET);
fread(text,len,1,stream1);
fwrite(text,len,1,stream);
fclose(stream);
fclose(stream1);
remove(buf1);//remove the another file
return 0;
}
//第二部:如果有条件的调用它们的话,加上if语句或者switch语句,基本上都是这样,此外,你可以把function1 和function2放入一个头文件中,然后包含这个头文件亦行。
void main()
{
function1();
function2();
}
TA贡献1828条经验 获得超3个赞
不知道你的具体要求是什么,如果想从主函数调用这两个函数,把这两个函数名改完就可以了
#include<stdio.h>
//文件的分裂
int SplitFile ()//修改的地方
{
。。。。。 }
文件的合并
#include<stdio.h>
int ConveFile()//修改的地方
{。。。
}
void main()
{
//如果是有条件的选择这两个函数的话,也可以加一些if语句
SplitFile();
ConveFile();
}
- 2 回答
- 0 关注
- 88 浏览
添加回答
举报