C语言中常用函数大全

上传人:平*** 文档编号:14310078 上传时间:2017-10-29 格式:DOCX 页数:13 大小:49.99KB
返回 下载 相关 举报
C语言中常用函数大全_第1页
第1页 / 共13页
C语言中常用函数大全_第2页
第2页 / 共13页
C语言中常用函数大全_第3页
第3页 / 共13页
C语言中常用函数大全_第4页
第4页 / 共13页
C语言中常用函数大全_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《C语言中常用函数大全》由会员分享,可在线阅读,更多相关《C语言中常用函数大全(13页珍藏版)》请在金锄头文库上搜索。

1、(一)输入输出常用函数1,printf(1)有符号 int%-+0width.precisionlh d-:左对齐+:正数前加+0:右对齐,acwidth.precision ,按实际输出,否者左边补零(2)无符号 int%-#0width.precisionlh u|o|x|X#:”%o %x/X”输出 0,0x,0X.precision:同上,TC/BC 包含 0x/X,VC 下不包含(3)实数输出%-+#0width.precisionlL f|e|E|g|G#:必须输出小数点.precision:小数位数(四舍五入)(4)字符和字符串的输出%-0width c %-0width .pr

2、ecision s.precision:S 的前 precision 位2,scanf%*width lhTypeWith:指定输入数据的宽度,遇空格、Tab、 n 结束*:抑制符 scanf(“%2d%*2d%3d”,&num1,&num2) 输入 123456789n;num1=12,num2=567.注意:(1)指定 width 时,读取相应 width 位 ,但按需赋值Scanf( “%3c%3c”,&ch1,&ch2) 输入 abcdefg ch1=a ch2=d(2)%c 输入单字符时“空格、转义字符”均是有效字符 (二)ascll 字符/字符串/文件函数1;字符非格式化输入函数(

3、1)int getchar(void) 接受字符,以回车结束,回显(2)int getc(FILE*stream) 从 stream 中接受字符,以回车结束,回显 stream=stdin 时, (1)=(2)(3)int getche(void) 直接读取字符,回显 conio.h(4)int getchar(void) 直接读取字符,不回显 conio.h注意:(1,2)对于回车键返回n (3,4)对于回车键返回r2;字符/ 串非格式化输出函数(1)int putchar(int c) 正常返回字符代码值,出错返回 EOF(2)int putc(int c,FILE*stream) 正常返

4、回字符代码值,出错返回 EOF stream=stdout(1)=(2)(3)int puts(char*stream) 自动回车换行1;字符串的赋值#includeVoid *memset (void *s, char ch, unsigned n)将以 S 为首地址的,一片连续的 N 个字节 内存单元 赋值为 CH.Void *memcpy ( void *d, void*s, unsigned n)将以 S 为首地址的 一片连续的 N 个字节 内存单元的值拷贝到 以 D 为首地址的一片连续的内存单元中。 (对于数据类型、大小相同的数组可以用此函数拷贝/部分拷贝)2;#include(1)

5、strlen ( 求字符串长度)求字符串长度,从给定的字符串的起始地址开始,到第一个0为止(不包含0 ) 。转义字符 ddd、xhh;看做一个字符。(2)字符串的复制Strcpy(字符数组 1,字符串 2);将字符串 2,复制到字符数组 1 中(包含0);1 要足够大。1:必须为字符数组变量 2 字符数组变量 或 字符串常量strncpy(字符数组 1,字符串 2,长度 n)将 2 中的 前 N 个字符复制到 1 中,并在末尾加0;n=strlen(2)时 ,其等价 strcpy。(4)字符串的比较12 返回正数 1=2 返回 0 1(1)void *calloc(unsigned n, un

6、signed size); 功 能 : 在 内 存 的 动 态 存 储 区 中 分 配 n 个 长 度 为 size 的 连 续 空 间 , 并 且 赋 初 值 为 0( malloc 侧 不 是 ) ; 函 数 返 回一 个 指 向 分 配 起 始 地 址 的 指 针 ; 如 果 分 配 不 成 功 , 返 回 NULL。(2) 原型:extern void *realloc(void *mem_address, unsigned int newsize)语法:指针名=(数据类型 *)realloc(要改变内存大小的指针名,新的大小) 。/新的大小一定要大于原来的大小不然的话会导致数据丢失!

7、头文件:#include 有些编译器需要#include ,在 TC2.0 中可以使用 alloc.h 头文件 功能:先按照 newsize 指定的大小分配空间,将原有数据从头到尾拷贝到新分配的内存区域,而后释放原来 mem_address 所指内存区域,同时返回新分配的内存区域的首地址。即重新分配存储器块的地址。 返回值:如果重新分配成功则返回指向被分配内存的指针,否则返回空指针 NULL。 注 意 : 这 里 原 始 内 存 中 的 数 据 还 是 保 持 不 变 的 。 当 内 存 不 再 使 用 时 , 应 使 用 free()函 数 将 内 存 块 释 放 。(三)文件函数mode:

8、r:打开已存在文件,准备从文件中读取数据,不能写入r+ :可读可写w:创建一个新文件,准备写入;如文件已存在,此文件将被空文件覆盖w+:增加“读取”操作a:打开已存在文件,准备在文件尾部追加数据,不能读取。如文件不存在,侧创建此文件,准备写入。a+:增加“读取”t:打开一个文本文件(缺省值)b:打开一个二进制文件一:文件的打开与关闭1:打开文件FILE * fopen(char*filename, char*mode)Filename:是字符串,表示打开的文件名,文件名前可以带路径。Mode:也是字符串,表示打开文件的方式。功能-按指定方式打开文件。返回值-如果文件打开成功,返回“文件结构体指

9、针” ,否者返回 NULL(如:文件不存在或则写文件时不能创建) 。Fopen(“A:userasd.txt”,”r+” );2:关闭文件Int*fclose(FILE*filename)正常关闭返回 0;否者返回 非 0。3:Int feof(FILE*filepointer)功能-在执行文件操作时,遇到文件尾,返回 1;否则返回 0;Eg. !feof(fp1)表示源文件(用于输入)未结束,循环继续。此函数适用于 ASCII 码文件盒二进制文件。EOF 是文本文件结束的标志。在文本文件中,数据是以 字符的 ASC代码值的形式存放,普通字符的 ASC代码的范围是 32 到 127(十进制)

10、,EOF 的 16 进制代码为 0x1A(十进制为 26) ,因此可以用 EOF 作为文件结束标志。当把数据以二进制形式存放到文件中时,就会有-1 值的出现,因此不能采用 EOF 作为二进制文件的结束标志。为解决这一个问题,ASCI C 提供一个 feof 函数,用来判断文件是否结束。feof 函数既可用以判断二进制文件又可用以判断文本文件。“C”语言的“feof()”函数和数据库中“eof()”函数的运作是完全不同的。数据库中“eof()”函数读取当前指针的位置, “C”语言的“feof()”函数返回的是最后一次“ 读操作的内容” 。多年来把“ 位置和内容”相混,从而造成了对这一概念的似是而

11、非。那么,位置和内容到底有何不同呢?举个简单的例子,比如有人说“你走到火车的最后一节车箱” 这就是位置。而如果说 “请你一直向后走,摸到铁轨结束”这就是内容。也就是说用内容来判断会“多走一节”。这就是完全依赖于“while(!feof(FP).”进行文件复制时,目标文档总会比源文档“多出一些” 的原因。二:文件的读写1:字符读写函数 fgetc 和 fputc(1):int fgetc (FILE*filepointer)功能-从文件指针 filepointer 指向的文件中,读入一个字节(字符) ,同时将读写位置指针向前移动一个字节。返回值-如果读取正常,返回读到的的字节值;如果读到文件尾或

12、出错;侧返回 EOF。fgetc 函数返回的值是 int 类型,如果强制的赋值给 char 类型,会导致当读出的数据为 0xff时,误认为是 EOF(-) ,导致程序出错。(2):Int fputc(int c,FILE*filepointer)功能-将字符 c 输出到文件指针 filepointer 所指的文件中去;同时将读写位置指针向前移动一个字节。返回值-成功、返回字符数据 c;否者返回 EOF。2:字符串读写函数 fgets 和 fputs(1): Char *fgets(char*s ,int n ,FILE*filrpointer)Cahr*s 可以是“字符数组名”也可是“字符串”

13、 (别的类似的函数也是如此)功能-从文件指针 filepointer 指向的文件中,读取长度最大为 n-1 的字节串,并在字符串的末尾加上结束标志0 ;然后将字符串放在 s 中,同时读写位置指针向前移动,实际读写的字串长度(当前位置指针到文尾的偏移时)使位置指针至尾的,不能写入内容,否则文件结尾符将被覆盖,文件变大/文件损坏将无法打开!当 offset 是向文件头方向偏移的时候,如果 offset 没有超出文件头,是正常偏移,文件指针指向正确的偏移地址,fseek 返回值为 0.当 offset 超出文件头时,fseek 返回出错 -1 值,文件指针不变还是处于原来的地址。 (3):ftell

14、 函数Long ftell(FILE*filepointer)文件位置指针的最小值是 0,最大值是文件的长度。功能-返回 filepointer 所指向文件当前位置指针的值(用相对文件开头的位移量表示) 。返回值-成功,返回:当前位置指针的值;出错,返回:-1L。(三)文件夹函数1、文件夹/文件的判断函数 access头文件:io.h功 能 : 确定文件或文件夹的访问权限。即,检查某个文件的存取方式,比如说是只读方式、只写方式等。如果指定的存取方式有效,则函数返回 0,否则函数返回-1。用 法: int access(const char *filenpath, int mode); 或者 i

15、nt _access( const char *path, int mode );备注:(filenpath)当该参数为文件的时候,access 函数能使用 mode 参数所有的值,当该参数为文件夹的时候,access 函数值能判断文件夹是否存在。在 WIN NT 中,所有的文件夹都有读和写权限 Mode: 0 (F_OK) 只判断是否存在2 ( R_OK) 判断写入权限4 ( W_OK) 判断读取权限6 ( X_OK) 判断执行权限若存在或者具有权限,返回值为 0;不存在或者无权限,返回值为 -1。特别提醒:fopen 用这种方法做出的判断是不完全正确的,因为有的文件存在,但是可能不可读。错误代码EACCESS 参数 pathname 所指定的文件不符合所要求测试的权限。EROFS 欲测试写入权限的文件存在于只读文件系统内。EFAULT 参数 pathname 指针超出可存取内存空间。EINVAL 参数 mode 不正确。ENAMETOOLONG 参数 pathname 太长。ENOTDIR 参数 pathname 为一目录。ENOMEM 核心内存不足ELOOP 参数 pathname 有过多符号连接问题。EIO I/O 存取错误。特别提醒:使用 access()作用户认证方面的判断要特别小心,例如在 access()后再做 open()的空文件可能会造成系统

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号