首先,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();
}
char
*
strcat(char
*s,
const
char
*append)
{
//将s所指向的字符串的首地址保存下来,以便使用
char
*save
=
s;
//将s所指向的字符串的首指针移至串尾处,s指针指向的字符元素为'\0'
for
(;
*s;
++s);
//将append所指的字符串的元素复制到s所指向的字符串尾部,直至遇到'\0'
while
((*s++
=
*append++)
!=
'\0');
//返回追加后的字符串首地址
return(save);
}
不知道你用的是什么编译器,如果用的是VC的话,可以尝试下我的做法:
创建两个源代码文件:1.cpp和2.cpp
1.cpp中内容:
#includestdio.h
#include"2.cpp"/*采用包含命令调用2.cpp中的函数*/
int max(int x,int y)
{
return xy?x:y;
}
int main()
{
int a,b,m,n;
a=10;
b=30;
m=max(a,b);
n=min(a,b);
printf("%3d%3d\n",m,n);
return 0;
}
2.cpp中内容:
int min(int x,int y)
{
return xy?x:y;
}
把这两个源代码放到一个文件夹下,编译并运行1.cpp即可。注意,2.cpp中没有main函数,所以不能直接编译2.cpp。其实由于最终1.cpp和2.cpp要连接到一起形成一个可执行文件1.exe,所以2.cpp中也不能有main函数。
c语言中一个完整的函数由函数首部和函数体构成,而且定义函数时两者都是必不可少的。
函数定义的一般形式如下:
类型标识符
函数名(形参表列)
//
这是函数首部
//
以下{
}内的是函数体
{
说明部分
执行部分
}
举例说明如下:
//
定义一个不带返回值的函数
//
函数功能:输出形参的值
void
fun(int
a,
int
b)
{
printf("%d,
%d\n",
a,
b);
}
//
定义一个带返回值的函数
//
函数功能:返回2个整数数的最大值
int
fun(int
a,
int
b)
{
return
ab
?
a
:
b;
}
同时执行,使用线程了
C语言本身没有提供线程的功能,只能调用平台的线程来实现
如果在 WINDOWS 下面,可以参考一下 CreateThread 方法