c语言多文件
‘壹’ c语言多文件问题
static unsigned long int next = 1; 这个为什么赋值为1
它是全局量,若不赋初值1,将自动赋0。
像 next=next*1103515245+12345; 这种计算,如果一开始next=0,算得的新next太小。
通常,种子应取相当大的整型值。
void srand1(unsigned int seed)[} 这里为什么是seed,不是x
函数定义,只要参数和函数体里的变量名一致就可以,叫什么都可以。
例如:
void srand1(unsigned int s){next=s;} // 正确
void srand1(unsigned int x){next=x;} // 正确
void srand1(unsigned int yyy){next=yyy;} // 正确
它们的功能和效果完全一样。
extern void srand1(unsigned int x); 这叫函数原形声明。
函数原形声明 只要明确有几个形参,各形参是什么类型就可以了。
至于参数名子,叫什么都可以,甚至不写名字都可以。例如:
extern void srand1(unsigned int sxy); // 完全正确
extern void srand1(unsigned int ); // 完全正确
它们的功能和效果完全一样。
‘贰’ C语言中如何同时创建多个文件~~~
1、将一个函数写在一个文件里,然后再在另一个文件里用“include”包含这个文件。
2、举个例子
在文件c1.c里编一个函数:
void
printword(){
printf("hello!world!");
}
再建立一个文件c2.c,文件开头写上#include"c1.c",就可以调用c1.c里的函数printword()了
这样通过include操作,可以把任意多个文件连接起来,编译成一个程序运行。
‘叁’ 请问C语言中一次操作多个文件该如何做
(1)
用 system("dir /b > abc.lis");
把文件名存入abc.lis
(2)打开文件abc.lis
打开输出文件 nameout
(3)从abc.lis 里读一个文件名到 namein --(FILE *fin)
(4)打开 namein 文件
(5) 读和处理namein,输出部分到 nameout -- FILE *fout)
(6)关掉 namein 文件
(7) 转 3,循环到 6
如果abc.lis 文件读到 EOF 则 结束
(8)关掉 输出文件和 abc.lis 文件
程序结束
‘肆’ C语言多文件编程
多个c文件的作用在于将不同功能的代码分开来实现,这样便于代码重用、代码编译和代码管理。
一个程序中,只能有一个main函数,这是整个程序的起点和入口。如果其他人也实现了该函数,则必须要重新命名,然后在唯一的main函数中统一调用。
多个c文件的合并并没有顺序要求,任何一个都可以先编译或者后编译。
extern表示导出,可以用于函数和变量。用于函数的时候,表示这是一个外部函数,用于变量的时候,表示这是一个外部变量。
如果使用一个c文件,多个h文件,则会导致改动代码任何一个地方,都要重新编译所有的文件,效率上非常不划算。而使用多个c文件,当代码发生变更的时候,仅仅相关的c文件代码需要重新编译,其他代码则可以保持不变,不用参与编译。
函数中的局部变量无法在函数外部调用,只能通过参数传递的方式传递给第三方函数。因为局部变量是出于栈上面的,栈会随着函数调用完毕的时候被系统回收。
‘伍’ C语言如何在一个工程里建立多个文件 (内详)
1、打开uVision keil4软件,新建好一个工程。
‘陆’ 关于c语言多文件
你可以在turbo c3.0中也建立一个工程,把这些文件都放到该工程里面,这样才能把这些文件关联起来
你的这几个文件应该放在一个目录里面
#include<>从编译器中标准目录中找文件
#include“”从编译器中标准目录中找文件,如果找不到再在用户自定义目录中找
‘柒’ 如何用c语言打开多个文件或文件夹
在C语言中,对文件夹的操作,专业的说法称为"切换路径/目录",而不是"打开",因为文件夹,并不是一个"真正的文件",而只是一个访问文件的目录.
用C语言中的函数chdir,也就是change
directory
int
chdir(char
*path)
--
使指定的目录path变成当前的工作目录,之后所有的文件操作都是该目录下.
比如,想切换到f盘test目录下可以这样:
chdir("f:\\test
");
返回0表示切换成功,否则,表示失败.
‘捌’ C语言中,如何用多个文件编写程序
将一个函数写在一个文件里,然后再在另一个文件里用“include”包含这个文件。举个例子 在文件c1.c里编一个函数:
void printWord(){
printf("Hello!world!");
}
再建立一个文件c2.c,文件开头写上#include"c1.c",就可以调用c1.c里的函数printword()了
‘玖’ c语言中如何同时运行多个源文件
第一步:
将源文件1(1.c)修改为如下形式:
#include "print.h"
#include "2.c"
int main(void)
{
printHello();
return 0;
}
其中的2.c就是源文件2的文件名
第二步,将三个文件保存到同一目录中
第三步,打开TC2,执行FILE-CHANGE DIR,将工作目录换到三个文件所在的目录。
第四步,在TC2中打开1.c文件,编译运行。
建议不要再使用TC2这个相对原始的IDE了,上面介绍的这个方法也并不是标准方法,建议使用TC2006/VC/BCB等现代的IDE环境,如果实在是舍弃不下DOS字符界面,那就试试GCC吧!
‘拾’ C语言,如何读入多个文件
使用fopen函数依次打开多个文件即可。
1.fopen的函数原型:FILE * fopen(const char * path,const char * mode);
fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,允许读数据。
rw+ 读写打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
wt+ 读写打开或着建立一个文本文件;允许读写。
at+ 读写打开一个文本文件,允许读或在文本末追加数据。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。
2.例程:
#include<stdio.h>
#define F_PATH "d:\\myfile\\file.dat"
char c;
int main(){
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp) return -1;//要返回错误代码
while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //从文本中读入并在控制台打印出来
fclose(fp);
fp=NULL;//需要指向空,否则会指向原打开文件地址
return 0;
}