1 / 19
文档名称:

C语言标准库19ppt课件.ppt

格式:ppt   大小:72KB   页数:19页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言标准库19ppt课件.ppt

上传人:相惜 2021/4/19 文件大小:72 KB

下载得到文件列表

C语言标准库19ppt课件.ppt

文档介绍

文档介绍:几个有关函数
标准库还提供了另外一些与IO有关的函数。
1)缓冲区冲刷函数fflush。原型:
    int fflush(FILE *stream)
对输出流有定义。要求立即将缓冲区数据写入文件。本操作对输入流的作用在标准里没有定义。正常完成返回0,出错返回EOF。
2)文件结束判断函数feof。其原型是:
    int feof(FILE *stream)
判断是否到达文件末尾。主要用于二进制文件,遇到文件结束时返回非0值。
1
最新版整理ppt
3)文件定位及定位函数
文件可看作字节的序列,每个字节在序列中有一位置。可认为IO时有一个文件位置指示器。
以读/写方式打开时指示器设在文件开头,以附加方式打开指示器设在文件尾。指示器随读写操作自动后移,指向下次操作位置。
为方便,标准库提供了直接操作文件指示器的函数:文件定位函数/指示器移动函数。最常用的三个:
void rewind(FILE *st)
将流st的文件指示器重设到文件开始位置。
long ftell(FILE *st)
返回流st当时指示器位置。出错返回-1L。
2
最新版整理ppt
int fseek(FILE *st, long offset,
int origin)
设置流st的指示器,使随后IO操作在新位置进行。origin指定定位基准点,可能取值:
SEEK_SET 以文件头作为定位的基准点
SEEK_CUR 以指示器的当前位置作为基准点
SEEK_END 以文件尾作为基准点
正文流的移动操作有限制。对二进制流没限制,移动目标是以origin为基准点偏移offset的位置。
3
最新版整理ppt
出错处理
输出出错信息是希望显示到屏幕供人读。通过stdout不合适:输出定向到文件也使出错信息送到文件。
送到标准错误流stderr的信息不受定向影响。改造前面程序cat,只需要改动一个语句:
fprintf(stderr,"%s, can't open in file: %s\n",
name, *argv);
文件错误检查:int ferror(FILE *stream)
IO出错时设置相关流的出错标志变量。ferror检查流的出错标志。当stream的状态变量设置时返回非0。
错误标志复位(清除)函数
void clearerr(FILE *stream)
4
最新版整理ppt
标准库错误处理:
为检查程序执行中出错,库提供了一些机制。
每个C系统定义了一组错误编号,0表示无错,其余值表示各种错误。
一些函数出错时自动给状态变量errno设错误编号,还定义了相应的信息串。见<>。
打印当时错误信息: void perror(char *s)
检查当时错误编号(perror调用之前的最近错误),把对应信息串送到stderr。输出形式:
字符串s 冒号 错误信息串 换行
5
最新版整理ppt
标准库介绍
标准库由一组库代码文件和一组头文件组成。
代码文件内是标准函数的程序代码及相关数据(变量)。若程序调用标准函数,连接程序将从库代码文件提取函数代码,将其拼接到结果程序里,并完成调用连接。库代码文件里还附带了一些连接程序使用的信息。
ANSI C的标准头文件是一组正文文件,提供库函数的使用信息。其中列出库函数原型,所用类型(如FILE)、符号常量(如EOF、NULL)和其他宏定义等。
6
最新版整理ppt
在C程序里用标准库函数,只需包含有关的头文件,这将保证程序对标准库函数的使用与其实际定义间的一致性。
库代码文件通常很大,具体程序实际使用的库功能通常只是其中很少一部分。
人们开发了这样的技术,在程序连接时不是把库代码文件整个装配到可执行文件里,而是根据实际需要,由库文件里提取出必要部分装配进程序里,以保证用户程序的紧凑性。
7
最新版整理ppt
几个已经介绍过的头文件
<>
<>
字符串函数(<>):
char* strchr(cs, c);
char* strrchr(cs, c);
查寻字符c在字符串cs里出现的位置(第一个,或者最后一个)。
cs表示const char*(const字符串),s表示char*(字符数组),用c表示字符。
8
最新版整理ppt
char* strpbrk(cs1, cs2);
查寻cs2中的字符在cs1里第一次出现的位置。
char* strstr(cs1, cs2);
查寻cs2(子串)在cs1中出现的位置。成功时返回所确定位置的指针,失败返回空指针。
size_