扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
函数原型作为声明,作用是提示编译器,作为标识符的函数名,在声明之后或外部编译单元/库文件存在定义,以抑制编译器遇到这个标识符时产生标识符未定义的编译错误,同时标明出这个函数的参数传递及出入栈顺序等必要的进出要素,函数的定义则始终以原型为基准进行实现。原型作为语法技术的提出,出发点就在于此,利用它可以方便地定义互相递归的函数,以及引用外部库文件的符号。
麻江网站建设公司创新互联,麻江网站设计制作,有大型网站制作公司丰富经验。已为麻江上千家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的麻江做网站的公司定做!
c语言标准库中用于打开文件的函数是fopen()。
函数原型:FILE
*
fopen(const
char
*
path,const
char
*
mode);
参数说明:path指明要打开的文件名,mode指明以什么方式打开。详细在下面介绍。
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno
中。示例如下
#includestdio.h
//根据需要修改成自己要打开的文件即可。
#define F_PATH "d:\\myfile\\file.dat"
int main(void)
{
FILE *fp=NULL;//需要注意
fp=fopen(F_PATH,"r"); //以只读方式打开一个文件
if(NULL==fp)
{
return -1;//要返回错误代码
}
fclose(fp); //打开一个文件停止操作后,要关闭打开的文件
fp=NULL;//需要指向空,否则会指向原打开文件地址
return 0;
}
参数mode的类型:
r
以只读方式打开文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,允许读写数据,文件必须存在。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的EOF符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
C语言输入输出函数有很多,标准I/O函数中包含了如下几个常用的函数:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int getc(FILE *fp)
getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为 (ch = getc(fp)) != EOF.EOF为文件结束标志,定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp为stdin时,getc(stdin)就等同于getchar()了.
int putc(int ch,FILE *fp)
putc主要是把字符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.
int getchar(void)
getchar主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h中定义的stdin.但是从输入流中读取字符时又涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符.当然也可以在while循环中指定终止字符,如下面的语句:while ((c = getchar()) != '#')这是以#来结束的.
int putchar(int ch)
putchar(ch)主要是把字符ch写到标准流stdout中去.
char * gets(char *str)
gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去.
int puts(char *str)
puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.
char *fgets(char *str, int num, FILE *fp)
str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符,该行的字符数不大于num-1.因为fgets函数会在末尾加上一个空字符以构成一个字符串.另外fgets在读取到换行符后不会将其省略.
int fputs(char *str, file *fp)
fputs将str写入fp.fputs与puts的不同之处是fputs在打印时并不添加换行符.
int fgetc(FILE *fp)
fgetc从fp的当前位置读取一个字符.
int fputc(int ch, file *fp)
fputc是将ch写入fp当前指定位置.
int fscanf(FILE *fp, char *format, 输入列表)
fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中.
int fprintf(FILE *fp, char *format, 输出列表)
fprintf将格式化数据写入流式文件中.
数据块读写函数
fread (buffer,size,count,fp);
fwrite(buffer,size,count,fp);
参数说明:
buffer:是一个指针。
对fread 来说,它是读入数据的存放地址。
对fwrite来说,是要输出数据的地址(均指起始地址)。
size: 要读写的字节数。
count: 要进行读写多少个size字节的数据项。
fp: 文件型指针。
1、c语言中我们通常把函数的声明叫做函数的原型。
2、c语言中把函数的定义叫做函数的实现。
3、函数是C/C++程序的基本模块。可将一些功能相对独立的或经常使用的操作或运算抽象出来,定义为函数。使用时只要考虑其功能和使用接口即可。在结构化程序设计中,函数是将任务进行模块划分的基本单位。在面向对象的程序设计中,类中所封装的操作是用函数进行描述的,因此函数在C++程序中具有非常重要的意义。
C语言编译系统提供了众多的预定义库函数和宏。用户在编写程序时,可以直接调用这些库函数和宏。这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。
1.测试函数
Isalnum
原型:int isalnum(int c)
功能:测试参数c是否为字母或数字:是则返回非零;否则返回零
头文件:ctype.h
Isapha
原型:int isapha(int c)
功能:测试参数c是否为字母:是则返回非零;否则返回零
头文件:ctype.h
Isascii
原型:int isascii(int c)
功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零
头文件:ctype.h
Iscntrl
原型:int iscntrl(int c)
功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零
头文件:ctype.h
Isdigit
原型:int isdigit(int c)
功能:测试参数c是否为数字:是则返回非零;否则返回零。
头文件:ctype.h
Isgraph
原型:int isgraph(int c)
功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零
头文件:ctype.h
Islower
原型:int islower(int c)
功能:测试参数c是否为小写字母:是则返回非零;否则返回零
头文件:ctype.h
Isprint
原型:int isprint(int c)
功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零
头文件:ctype.h
Ispunct
原型:int ispunct(int c)
功能:测试参数c是否为标点符号:是则返回非零;否则返回零
头文件:ctype.h
Isupper
原型:int isupper(inr c)
功能:测试参数c是否为大写字母:是则返回非零;否则返回零
Isxdigit
原型:int isxdigit(int c)
功能:测试参数c是否为十六进制数:是则返回非零;否则返回零
2.数学函数
abs
原型:int abs(int i)
功能:返回整数型参数i的绝对值
头文件:stdlib.h,math.h
acos
原型:double acos(double x)
功能:返回双精度参数x的反余弦三角函数值
头文件:math.h
asin
原型:double asin(double x)
功能:返回双精度参数x的反正弦三角函数值
头文件:math.h
atan
原型:double atan(double x)
功能:返回双精度参数的反正切三角函数值
头文件:math.h
atan2
原型:double atan2(double y,double x)
功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值
头文件:math.h
cabs
原型:double cabs(struct complex znum)
功能:返回一个双精度数,为计算出复数znum的绝对值。Complex的结构模式在math.h中给出定义,其定义如下:
struct complex {
double a,y
};
头文件:stdlib.h,math.h
ceil
原型:double ceil(double x)
功能:返回不小于参数x的最小整数
头文件:math.h
_clear87
原型:unsigned int _clear87(void)
功能:清除浮点运算器状态字
头文件:float.h
_control87
原型:unsigned int _control87(unsigned int newvals,unsigned int mask)
功能:取得或改变浮点运算器控制字
头文件:float.h
cos
原型:double cos(double x)
功能:返回参数x的余弦函数值
头文件:math.h
cosh
原型:double cosh(double x)
功能:返回参数的双曲线余弦函数值
头文件:math.h
ecvt
原型:char*ecvt(double value,int ndigit,int*decpt,int*sign)
功能:把双精度数value转换为ndigit位数字的以空格字符结束的字符串,decpt指向小数点位置,sign为符号标志。函数返回值为指向转换后的字符串的指针
头文件:stdlib.h
exp
原型:double exp(double x)
功能:返回参数x的指数函数值
头文件:math.h
fabs
原型:double fabs(double x)
功能:返回参数x的绝对值
头文件:math.h
floor
原型:double floor(double x)
功能:返回不大于参数x的最大整数
头文件:math.h
fmod
原型:double fmod(double x,double y)
功能:计算x/y的余数。返回值为所求的余数值
头文件:math.h
_fprest
原型:void _fprest(void)
功能:重新初始化浮点型数数学包
头文件:float.h
frexp
原型:double frexp(double value,int*eptr)
功能:把双精度函数value分解成尾数和指数。函数返回尾数值,指数值存放在eptr所指的单元中
头文件:math.h
hypot
原型:double frexp(double x,double y)
功能:返回由参数x和y所计算的直角三角形的斜边长
头文件:math.h
labs
原型:long labs(long n)
功能:返回长整数型参数n的绝对值
头文件:stdlib.h
ldexp
原型:double ldexp(double value,int exp)
功能:返回value*2exp的值
头文件:math.h
log
原型:double log(double x)
功能:返回参数x的自然对数(ln x)的值
头文件:math.h
log10
原型:double log10(double x)
功能:返回参数x以10为底的自然对数(lg x)的值
头文件:math.h
modf
原型:double modf(double value,double*iptr)
功能:把双精度数value分为整数部分和小数部分。整数部分保存在iptr中,小数部分作为函数的返回值
头文件:math.h
poly
原型 :double poly(double x,int n,double c[ ])
功能:根据参数产生x的一个n次多项式,其系数为 c[0],c[1],…c[n]。函数返回值为给定x的多项式的值
头文件:math.h
pow
原型:double pow(double x,double y)
功能:返回计算xy的值
头文件:math.h
pow10
原型:double pow10(int p)
功能:返回计算10p的值
头文件:math.h
rand
原型:int rand(void)
功能:随机函数,返回一个范围在0~215-1的随机整数
头文件:stdlib.h
sin
原型:double sin(double x)
功能:返回参数x的正弦函数值
头文件:math.h
sinh
原型double sinh(double x)
功能:返回参数x的双曲正弦函数值
头文件:math.h
sqrt
原型:double sqrt
功能:返回参数x的平方根值
头文件:math.h
srand
原型:void srand(unsigned seed)
功能:初始化随机函数发生器
头文件:stdlib.h
_status87
原型:unsigned int_status87()
功能:取浮点状态
头文件:float.h
tan
原型:dounle tan(double x)
功能:返回参数x的正切函数值
头文件:math.h
tanh
原型:double tan(double x)
功能:返回参数x的双曲正切函数值
头文件:math.h
一般包括字符库函数,数学函数,目录函数,进程函数,诊断函数,操作函数等。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流