feof()和ferror()

作者:追风剑情 发布于:2020-4-2 19:21 分类:C

如果标准输入函数返回EOF,则通常表明函数已到达文件结尾。然而,出现读取错误时,函数也会返回EOF。feof()和ferror()函数用于区分这两种情况。当上一次输入调用检测到文件结尾时,feof()函数返回一个非零值,否则返回0。当读或写出现错误,ferror()函数返回一个非零值,否则返回0。

阅读全文>>

标签: C语言

评论(0) 浏览(2680)

fwrite()与fread()

作者:追风剑情 发布于:2020-4-2 17:07 分类:C

文件读写 示例 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #define DATA_SIZE 5 int main(int argc, char* argv[]) { FILE...

阅读全文>>

标签: C语言

评论(0) 浏览(1904)

替换缓冲区:setvbuf()

作者:追风剑情 发布于:2020-4-2 10:01 分类:C

int setvbuf(FILE * restrict fp, char * restrict buf, int mode, size_t size); setvbuf()函数创建了一个标准I/O函数替换使用的缓冲区。在打开文件后且未对流进行其他操作之前,调用该函数。指针fp识别待处理的流,buf指向待使用的存储区。如果buf的值不是NULL,则必须创建一个缓冲区。例如,声明一个内含1...

阅读全文>>

标签: C语言

评论(0) 浏览(2536)

fflush()函数

作者:追风剑情 发布于:2020-4-1 21:08 分类:C

int fflush(FILE *fp); 调用fflush()函数引起输出缓冲区中所有的未写入数据被发送到fp指定的输出文件。这个过程称为刷新缓冲区。如果fp是空指针,所有输出缓冲区都被刷新。在输入流中使用fflush()函数的效果是未定义的。只要最近一次操作不是输入操作,就可以用该函数来更新流(任何读写模式)。

阅读全文>>

标签: C语言

评论(0) 浏览(1940)

将字符放回输入流:ungetc()函数

作者:追风剑情 发布于:2020-3-31 22:06 分类:C

int ungetc(int c, FILE *fp); 示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <ctype...

阅读全文>>

标签: C语言

评论(0) 浏览(2362)

fgetpos()和fsetpos()函数

作者:追风剑情 发布于:2020-3-30 20:32 分类:C

fseek()和ftell()潜在的问题是,它们都把文件大小限制在long类型能表示的范围内。也许20亿字节看起来相当大,但是随着存储设备的容量迅猛增长,文件也越来越大。鉴于此,ANSI C新增了两个处理较大文件的新定位函数:fgetpos()和fsetpos()。这两个函数不使用long类型的值表示位置,它们使用一种新类型:fpos_t(代表file position type, 文件定位类型)...

阅读全文>>

标签: C语言

评论(0) 浏览(2947)

随机访问文件:fseek()和ftell()

作者:追风剑情 发布于:2020-3-29 23:15 分类:C

示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <ctype.h> //malloc()、free() #include...

阅读全文>>

标签: C语言

评论(0) 浏览(1746)

fgets()和fputs()函数

作者:追风剑情 发布于:2020-3-26 20:53 分类:C

示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <ctype.h> //malloc()、free() #include...

阅读全文>>

标签: C语言

评论(0) 浏览(2181)

fprintf()和fscanf()函数

作者:追风剑情 发布于:2020-3-26 14:35 分类:C

示例:向文件中写入读取单词 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 41 int main(int argc, char* argv[]) { FILE *fp; ...

阅读全文>>

标签: C语言

评论(0) 浏览(2006)

拷贝文件内容到另一个文件

作者:追风剑情 发布于:2020-3-25 14:47 分类:C

示例: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #define LEN 40 int main(int argc, char* argv[]) { FILE* in, * out; i...

阅读全文>>

标签: C语言

评论(0) 浏览(2536)

fopen()函数

作者:追风剑情 发布于:2020-3-25 10:32 分类:C

该函数声明在stdio.h中 FILE* fp = fopen(“文件路径”, "打开模式"); fopen()的模式字符串 模式字符串 含义 "r" ...

阅读全文>>

标签: C语言

评论(0) 浏览(2857)

标准I/O

作者:追风剑情 发布于:2020-3-25 10:21 分类:C

示例:读取文件 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> //exit() #include <stdlib.h> int main(int argc, char* argv[]) { int ch; //读取文件时,储存每个字符的地方 FILE* fp; //文件指针 ...

阅读全文>>

标签: C语言

评论(0) 浏览(1738)

字符处理:ctype.h

作者:追风剑情 发布于:2020-3-24 21:14 分类:C

这些函数都接受int类型的参数,这些参数可以表示为unsigned char类型的值或EOF。使用其他值的效果是未定义的。下面中,“真”表示“非0值”。对一些定义的解释取决于当前的本地设置,这些由locale.h中的函数来控制。该表显示了在解释本地化的“C”时要用到的一些函数。 字符处理函数 ...

阅读全文>>

标签: C语言

评论(0) 浏览(1663)

可变参数:stdarg.h

作者:追风剑情 发布于:2020-3-23 17:27 分类:C

stdarg.h头文件提供一种方法定义参数数量可变的函数。这种函数的原型有一个形参列表,列表中至少有一个形参后面跟有省略号: void f1(int n, ...) //有效 int f2(int n, float x, int k, ...) //有效 double f3(...) //无效 在下面的表中,parmN是省略号前面的最后一个形参的标识符。在上...

阅读全文>>

标签: C语言

评论(0) 浏览(2343)

memcpy()和memmove()

作者:追风剑情 发布于:2020-3-23 16:25 分类:C

//拷贝数组元素 //void *memcpy(void * restrict s1, const void * restrict s2, size_t n); //移动数组元素 //void *memmove(void *s1, const void *s2, size_t n);      上面两个函数都从s2指向的位置拷贝n字节到s1指向的位...

阅读全文>>

标签: C语言

评论(0) 浏览(1712)

_Static_assert(C11)

作者:追风剑情 发布于:2020-3-23 15:03 分类:C

assert()表达式是在运行时进行检查。C11新增了一个特性:_Static_assert声明,可以在编译时检查assert()表达式。因此,assert()可以导致正在运行的程序中止,而_Static_assert()可以导致程序无法通过编译。_Static_assert()接受两个参数,第1个参数是整型常量表达式,第2个参数是一个字符串。如果第1个参数表达式求值为0(或_False),编译器...

阅读全文>>

标签: C语言

评论(0) 浏览(2047)

断言库(assert.h)

作者:追风剑情 发布于:2020-3-23 14:06 分类:C

assert.h头文件支持的断言库是一个用于辅助调试程序的小型库。它由assert()宏组成,接受一个整型表达式作为参数。如果表达式求值为假(非零),assert()宏就在标准错误流(stderr)中写入一条错误信息,并调用abort()函数终止程序(abort()函数的原型在stdlib.h头文件中)。assert()宏是为了标识出程序中某些条件为真的关键位置,如果其中的一个具体条件为假,就用a...

阅读全文>>

标签: C语言

评论(0) 浏览(2652)

qsort()函数

作者:追风剑情 发布于:2020-3-23 9:35 分类:C

C中的快速排序函数原型: void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); 第1个参数是指针,指向待排序数组的首元素。ANSI C允许把指向任何数据类型的指针强制转换成指向void的指针,因此,qsort()的第1个实际参数可以引用任何类型的数组...

阅读全文>>

标签: C语言

评论(0) 浏览(2114)

exit()和atexit()函数

作者:追风剑情 发布于:2020-3-20 15:43 分类:C

示例:为退出程序注册回调函数 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stdbool.h> //C99特性 #include <string.h> #include <math.h> #include...

阅读全文>>

标签: C语言

评论(0) 浏览(2040)

_Noreturn函数(C11)

作者:追风剑情 发布于:2020-3-19 14:59 分类:C

      C99新增inline关键字时,它是唯一的函数说明符(关键字extern和static是存储类别说明符,可应用于数据对象和函数)。C11新增了第2个函数说明符_Noreturn,表明调用完成后函数不返回主调函数。exit()函数是_Noreturn函数的一个示例,一旦调用exit(),它不会再返回主调函数。注意,这与void返回类型不同。void类型的函数...

阅读全文>>

标签: C语言

评论(0) 浏览(2170)

数学库:math.h

作者:追风剑情 发布于:2020-3-18 19:58 分类:C

C99为math.h头文件定义了两种类型:float_t和double_t。这两种类型分别与float和double类型至少等宽,是计算float和double时效率最高的类型。该头文件还定义了一些宏,除了HUGE_VAL外,都是C99新增的。 数学函数通常使用double类型的值。C99新增了这些函数的float和long double版本,其函数名为分别在原函数名后添加f后缀和l后...

阅读全文>>

标签: C语言

评论(0) 浏览(2785)

内联函数

作者:追风剑情 发布于:2020-3-18 16:18 分类:C

示例 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stdbool.h> //C99特性 #include <string.h> #include <math.h> #include <ctype...

阅读全文>>

标签: C语言

评论(0) 浏览(2181)

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号