摘要: stdio .h 头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。 库变量 下面是头文件 stdio.h 中定义的变量类型: 变量 描述 size_t 这是无符号整数类型,它是 sizeof 关键字的结果。 FILE 这是一个适合存储文件流信息的对象类型。 fpos_t 这是一个适合存储 阅读全文
posted @ 2018-04-05 18:33 刘-皇叔 阅读(227) 评论(0) 推荐(0) 编辑
摘要: stddef .h 头文件定义了各种变量类型和宏。这些定义中的大部分也出现在其它头文件中。 库变量 下面是头文件 stddef.h 中定义的变量类型: 变量 描述 ptrdiff_t 这是有符号整数类型,它是两个指针相减的结果。 size_t 这是无符号整数类型,它是 sizeof 关键字的结果。 阅读全文
posted @ 2018-04-05 18:30 刘-皇叔 阅读(168) 评论(0) 推荐(0) 编辑
摘要: limits.h 头文件决定了各种变量类型的各种属性。定义在该头文件中的宏限制了各种变量类型(比如 char、int 和 long)的值。 这些限制指定了变量不能存储任何超出这些限制的值,例如一个无符号可以存储的最大值是 255。 库宏 下面的值是特定实现的,且是通过 #define 指令来定义的, 阅读全文
posted @ 2018-04-05 18:29 刘-皇叔 阅读(193) 评论(0) 推荐(0) 编辑
摘要: C 标准库的 float.h 头文件包含了一组与浮点值相关的依赖于平台的常量。这些常量是由 ANSI C 提出的,这让程序更具有可移植性。在讲解这些常量之前,最好先弄清楚浮点数是由下面四个元素组成的: 组件 组件描述 S 符号 ( +/- ) b 指数表示的基数,2 表示二进制,10 表示十进制,1 阅读全文
posted @ 2018-04-05 18:25 刘-皇叔 阅读(319) 评论(0) 推荐(0) 编辑
摘要: C 标准库的 errno.h 头文件定义了整数变量 errno,它是通过系统调用设置的,在错误事件中的某些库函数表明了什么发生了错误。该宏扩展为类型为 int 的可更改的左值,因此它可以被一个程序读取和修改。 在程序启动时,errno 设置为零,C 标准库中的特定函数修改它的值为一些非零值以表示某些 阅读全文
posted @ 2018-04-05 18:21 刘-皇叔 阅读(154) 评论(0) 推荐(0) 编辑
摘要: C 标准库的 ctype.h 头文件提供了一些函数,可用于测试和映射字符。 这些函数接受 int 作为参数,它的值必须是 EOF 或表示为一个无符号字符。 如果参数 c 满足描述的条件,则这些函数返回非零(true)。如果参数 c 不满足描述的条件,则这些函数返回零。 库函数 标准库还包含了两个转换 阅读全文
posted @ 2018-04-05 17:53 刘-皇叔 阅读(110) 评论(0) 推荐(0) 编辑
摘要: string .h 头文件定义了一个变量类型、一个宏和各种操作字符数组的函数。 库变量 下面是头文件 string.h 中定义的变量类型: 变量 描述 size_t 这是无符号整数类型,它是 sizeof 关键字的结果。 库宏 下面是头文件 string.h 中定义的宏: 宏 描述 NULL 这个宏 阅读全文
posted @ 2018-04-05 17:52 刘-皇叔 阅读(169) 评论(0) 推荐(0) 编辑
摘要: locale.h 头文件定义了特定地域的设置,比如日期格式和货币符号。接下来我们将介绍一些宏,以及一个重要的结构 struct lconv 和两个重要的函数。 库宏 下面列出了头文件 locale.h 中定义的宏: 宏 描述 LC_ALL 设置下面的所有选项。 LC_COLLATE 影响 strco 阅读全文
posted @ 2018-04-05 17:51 刘-皇叔 阅读(195) 评论(0) 推荐(0) 编辑
摘要: C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。 已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分。如果已在引用 <assert.h> 的源文件中定义 NDEB 阅读全文
posted @ 2018-04-05 17:49 刘-皇叔 阅读(201) 评论(0) 推荐(0) 编辑
摘要: stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数。 可变参数的函数通在参数列表的末尾是使用省略号(,...)定义的。 库变量 下面是头文件 stdarg.h 中定义的变量类型: 变量 描述 va_list 这是一个 阅读全文
posted @ 2018-04-05 17:48 刘-皇叔 阅读(118) 评论(0) 推荐(0) 编辑
摘要: signal.h 头文件定义了一个变量类型 sig_atomic_t、两个函数调用和一些宏来处理程序执行期间报告的不同信号。 库变量 下面是头文件 signal.h 中定义的变量类型: 变量 描述 sig_atomic_t 这是 int 类型,在信号处理程序中作为变量使用。它是一个对象的整数类型,该 阅读全文
posted @ 2018-04-05 17:47 刘-皇叔 阅读(162) 评论(0) 推荐(0) 编辑
摘要: setjmp.h 头文件定义了宏 setjmp()、函数 longjmp() 和变量类型 jmp_buf,该变量类型会绕过正常的函数调用和返回规则。 库变量 下面列出了头文件 setjmp.h 中定义的变量: 变量 描述 jmp_buf 这是一个用于存储宏 setjmp() 和函数 longjmp( 阅读全文
posted @ 2018-04-05 17:46 刘-皇叔 阅读(119) 评论(0) 推荐(0) 编辑
摘要: time.h 头文件定义了四个变量类型、两个宏和各种操作日期和时间的函数。 库变量 下面是头文件 time.h 中定义的变量类型: 变量 描述 size_t 这是无符号整数类型,它是 sizeof 关键字的结果。 clock_t 这是一个适合存储处理器时间的类型。 time_t 这是一个适合存储日历 阅读全文
posted @ 2018-04-05 17:44 刘-皇叔 阅读(120) 评论(0) 推荐(0) 编辑
摘要: math.h 头文件定义了各种数学函数和一个宏。在这个库中所有可用的功能都带有一个 double 类型的参数,且都返回 double类型的结果。 库宏 下面是这个库中定义的唯一的一个宏: 宏 描述 HUGE_VAL 当函数的结果不可以表示为浮点数时。如果是因为结果的幅度太大以致于无法表示,则函数会设 阅读全文
posted @ 2018-04-05 17:42 刘-皇叔 阅读(151) 评论(0) 推荐(0) 编辑
摘要: stdlib .h 头文件定义了四个变量类型、一些宏和各种通用工具函数。 库变量 下面是头文件 stdlib.h 中定义的变量类型: 变量 描述 size_t 这是无符号整数类型,它是 sizeof 关键字的结果。 wchar_t 这是一个宽字符常量大小的整数类型。 div_t 这是 div 函数返 阅读全文
posted @ 2018-04-05 17:38 刘-皇叔 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 改变缓冲方式 只有当指定的流被打开但还没有在它上面执行任何其他操作前才能被调用。 setbuf设置另一个长度为BUFSIZ(stdio.h)的字符数组对流进行缓冲。如果用一个NULL参数调用,setbuf将关闭流的所有缓冲方式。 如果在流关闭之前,程序的执行离开了数组声明所在的代码块,流就会继续使用 阅读全文
posted @ 2018-04-05 17:33 刘-皇叔 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 二进制I/O 把数据写入到文件效率最高的方法是用二进制形式写入。二进制输出避免了在 数值转换为字符串过程中涉及的开销和精度损失。 fread函数用于读取二进制数据,fwrite用于写入二进制数据。 buffer是一个指向用于保存数据的内存位置的指针,size是缓冲区中每个元素的字节数,count是读 阅读全文
posted @ 2018-04-05 17:31 刘-皇叔 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 未格式化的行I/O fgets从指定的文件中读一行字符到调用者提供的缓冲区中, gets从标准输入读一行字符到调用者提供的缓冲区中。 gets函数的存在只是为了兼容以前的程序,我们写的代码都不应该调用这个函数。 gets函数的接口设计得很有问题,就像strcpy一样,用户提供一个缓冲区,却不能指定缓 阅读全文
posted @ 2018-04-05 17:19 刘-皇叔 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 字符I/O 字符输入是由getchar家族执行的,原型如下: fgetc函数从指定的文件中读一个字节, getchar从标准输入读一个字节,调用getchar()相当于调用fgetc(stdin)。 需要操作的流作为参数传给getc和fgetc,但getchar始终从标准输入读取。每个函数从流读取一 阅读全文
posted @ 2018-04-05 17:16 刘-皇叔 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 文件I/O的一般情况 1.程序必须为同时处于活动状态的每个文件声明一个指针变量,其类型为FILE*。这个指针指向FILE结构,当它处于活动状态时由流使用。 2.流通过调用fopen函数打开,为了打开一个流,必须指定需要访问的文件或设备以及它们的访问方式(例如:读,写,既读又写)。fopen和操作系统 阅读全文
posted @ 2018-04-05 16:55 刘-皇叔 阅读(227) 评论(0) 推荐(0) 编辑