c语言头文件函数2

合集下载

c语言头函数

c语言头函数

C语言中的头文件是包含在源代码文件中以便在编译时进行预处理的文件。

头文件通常包含函数、宏定义、结构体声明和其他重要的代码片段,以便在多个源文件中共享和重用。

一些常见的C语言头文件包括:
1. `<stdio.h>`:包含输入输出函数,如`printf` 和`scanf`。

2. `<stdlib.h>`:包含内存分配和释放函数,如`malloc` 和`free`,以及其他常用的函数。

3. `<string.h>`:包含字符串操作函数,如`strcpy`、`strlen` 和`strcmp`。

4. `<math.h>`:包含数学函数,如三角函数、指数函数等。

5. `<time.h>`:包含时间和日期相关的函数,如`time` 和`strftime`。

6. `<ctype.h>`:包含字符分类函数,如`isalpha` 和`isdigit`。

7. `<stdbool.h>`:定义了`bool` 类型和`true`、`false` 常量,用于布尔值。

8. `<stddef.h>`:定义了`NULL` 宏和一些与指针相关的类型。

这只是一小部分常用的C语言头文件,实际上还有很多其他头文件,每个头文件都提供了特定的功能。

通过包含适当的头文件,你可
以在C程序中使用相应的函数和定义。

单片机C语言常用头文件

单片机C语言常用头文件

函数原形的头文件读者可参考返回非整型值的函数assert.h - assert(), 声明宏ctype.h –字符类型函数float.h –浮点数原形limits.h –数据类型的大小和范围math.h –浮点运算函数stdarg.h –变量参数表.stddef.h –标准定义stdio.h –标准输入输出IO 函数stdlib.h –包含内存分配函数的标准库string.h –字符串处理函数3 字符类型库下列函数按照输入的ACS II 字符集字符分类使用这些函数之前应当用"#include <ctype.h>" 包含int isalnum(int c)如果c 是数字或字母返回非零数值否则返回零int isalpha(int c)如果c 是字母返回非零数值否则返回零int iscntrl(int c)如果c 是控制字符如FF, BELL, LF ..等返回非零数值否则返回零int isdigit(int c)如果c 是数字返回非零数值否则返回零int isgraph(int c)如果c 是一个可打印字符而非空格返回非零数值否则返回零int islower(int c)如果c 是小写字母返回非零数值否则返回零int isprint(int c)如果c 是一个可打印字符返回非零数值否则返回零int ispunct(int c)如果c 是一个可打印字符而不是空格数字或字母返回非零数值否则返回零int isspace(int c)如果c 是一个空格字符返回非零数值包括空格CR, FF, HT, NL, 和VT 否则返回零int isupper(int c)如果c 是大写字母返回非零数值否则返回零int isxdigit(int c)如果c 是十六进制数字返回非零数值否则返回零int tolower(int c)如果c 是大写字母则返回c 对应的小写字母其它类型仍然返回cint toupper(int c)如果c 是小写字母则返回c 对应的大写字母其它类型仍然返回c4 浮点运算库下列函数支持浮点数运算使用这些函数之前必须用#include <math.h> 包含float asin(float x)以弧度形式返回x 的反正弦值float acos(float x)以弧度形式返回x 的反余弦值float atan(float x)以弧度形式返回x 的反正切值float atan2(float x, float y)返回y/x 的反正切其范围在- ~+ 之间float ceil(float x)返回对应x 的一个整型数小数部分四舍五入float cos(float x)返回以弧度形式表示的x 的余弦值float cosh(float x)返回x 的双曲余弦函数值float exp(float x)返回以e 为底的x 的幂即e xfloat exp10(float x)返回以10 为底的幂即10xfloat fabs(float x)返回x 的绝对值float floor(float x)返回不大于x 的最大整数float fmod(float x, float y)返回x/y 的余数float frexp(float x, int *pexp)把浮点数x 分解成数字部分y 尾数和以2 为底的指数n 两个部分即x=y 2 n y 的范围为0.5 y 1 y 值被函数返回而n 值存放到pexp 指向的变量中float fround(float x)返回最接近x 的整型数float ldexp(float x, int exp)返回x 2 e x pfloat log(float x)返回x 的自然对数float log10(float x)返回以10 为底的x 的对数float modf(float x, float *pint)把浮点数分解成整数部分和小数部分整数部分存放到pint 指向的变量小数部分应当大于或等于0 而小于1 并且作为函数返回值返回float pow(float x, float y)返回x y 值float sqrt(float x)返回x 的平方根float sin(float x)返回以弧度形式表示的x 的正弦值float sinh(float x)返回x 的双曲正弦函数值float tan(float x)返回以弧度形式表示的x 的正切值float tanh(float x)返回x 的双曲正切函数值5 标准输入输出库标准的文件输入输出是不能真正植入微控制器MCU 的标准stdio.h 的许多内容不可以使用不过有一些IO 函数是被支持的同样使用之前应用"#include <stdio.h>"预处理并且需要初始化输出端口最低层的IO 程序是单字符的输入(getchar)和输出(putchar)程序如果你针对不同的装置使用高层的IO 函数例如用printf 输出LCD 你需要全部重新定义最底层的函数为在ATMEL 的AVR Studio 模拟器终端IO 窗口使用标准IO 函数应当在编译选项中选中相应的单选钮注意作为缺省单字符输出函数putchar 是输出到UART 装置没有修改无论如何为使输出能如期望的那样出现在程序终端窗口中'\n' 字符必须被映射为成对的回车和换行CR/LFint getchar()使用查寻方式从UART 返回一个字符int printf(char *fmt, ..)按照格式说明符输出格式化文本frm 字符串格式说明符是标准格式的一个子集%d--输出有符号十进制整数%o --输出无符号八进制整数%x - 输出无符号十六进制整数%X –除了大写字母使用'A'-'F'外同%x%u - 输出无符号十进制整数%s –输出一个以C 中空字符NULL 结束的字符串%c –以ASCII 字符形式输出只输出一个字符%f –以小数形式输出浮点数%S –输出在FLASH 存贮器中的字符串常量printf 支持三个版本取决于你的特别需要和代码的大小越高的要求代码越大基本形: 只有%c, %d, %x, %u, 和%s 格式说明符是承认的长整形: 针对长整形数的修改%ld, %lu, %lx 被支持, 以适用于精度要求较高的领域浮点形: 全部格式包括%f 被支持你使用编译选项对话框来选择版本代码大小的增加是值得关注的int putchar(int c)输出单个字符这个库程序使用了UART 以查寻方式输出单个字符注意输出’\n’字符至程序终端窗口int puts(char *s)输出以NL 结尾的字符串int sprintf(char *buf, char *fmt)按照格式说明符输出格式化文本frm 字符串到一个缓冲区格式说明符同printf( )"const char *" 支持功能cprintf 和csprintf 是将FLASH 中的格式字符串分别以prinf 和sprinf 形式输出6 标准库和内存分配函数标准库头文件<stdlib.h>定义了宏NULL 和RAND_MAX 和新定义的类型size_t 并且描述了下列函数注意在你调用任意内存分配程序比如.. calloc malloc 和realloc)之前必须调用_NewHeap 来初始化堆heapint abs(int i)返回i 的绝对值int atoi(char *s)转换字符串s 为整型数并返回它字符串s 起始必须是整型数形式字符否则返回0double atof(const char *s)转换转换字符串s 为双精度浮点数并返回它字符串s 起始必须是浮点数形式字符串long atol(char *s)转换字符串s 为长整型数并返回它字符串s 起始必须是长整型数形式字符否则返回0void *calloc(size_t nelem, size_t size)分配"nelem"个数据项的内存连续空间每个数据项的大小为size 字节并且初始化为0 如果分配成功返回分配内存单元的首地址否则返回0void exit(status)终止程序运行典型的是无限循环它是担任用户main 函数的返回点void free(void *ptr)释放ptr 所指向的内存区void *malloc(size_t size)分配size 字节的存贮区如果分配成功则返回内存区地址如内存不够分配则返回0void _NewHeap(void *start, void *end)初始化内存分配程序的堆一个典型的调用是将符号_bss_end+1 的地址用作"start"值符号_bss_end 定义为编译器用来存放全局变量和字符串的数据内存的结束加1 的目的是堆栈检查函数使用_bss_end 字节存贮为标志字节这个结束值不能被放入堆栈中extern char _bss_end;_NewHeap(&_bss_end+1, &_bss_end + 201); // 初始化200 字节大小的堆int rand(void)返回一个在0 和RAND_MAX 之间的随机数void *realloc(void *ptr, size_t size)重新分配ptr 所指向内存区的大小为size 字节size 可比原来大或小返回指向该内存区的地址指针void srand(unsigned seed)初始化随后调用的随机数发生器的种子数long strtol(char *s, char **endptr, int base)按照"base."的格式转换"s"中起始字符为长整型数如果"endptr"不为空* endptr 将设定"s"中转换结束的位置unsigned long strtoul(char *s, char **endptr, int base)除了返回类型为无符号长整型数外其余同"strtol"7 字符串函数用"#include <string.h>"预处理后编译器支持下列函数<string.h>定义了NULL 类型size_t和下列字符串及字符阵列函数void *memchr(void *s, int c, size_t n)在字符串s 中搜索n 个字节长度寻找与c 相同的字符如果成功返回匹配字符的地址指针否则返回NULLint memcmp(void *s1, void *s2, size_t n)对字符串s1 和s2 的前n 个字符进行比较如果相同则返回0 如果s1 中字符大于s2 中字符则返回1 如果s1 中字符小于s2 中字符则返回-1void *memcpy(void *s1, void *s2, size_t n)拷贝s2 中n 个字符至s1 但拷贝区不可以重迭void *memmove(void *s1, void *s2, size_t n)拷贝s2 中n 个字符至s1 返回s1 其与memcpy 基本相同但拷贝区可以重迭void *memset(void *s, int c, size_t n)在s 中填充n 个字节的c 它返回schar *strcat(char *s1, char *s2)拷贝s2 到s1 的结尾返回s1char *strchr(char *s, int c)在s1 中搜索第一个出现的c 包括结束NULL 字符如果成功返回指向匹配字符的指针如果没有匹配字符找到返回空指针int strcmp(char *s1, char *s2)比较两个字符串如果相同返回0 如果s1>s2 则返回1 如果s1<s2 则返回-1char *strcpy(char *s1, char *s2)拷贝字符串s2 至字符串s1 返回s1size_t strcspn(char *s1, char *s2)在字符串s1 搜索与字符串s2 匹配的第一个字符包括结束NULL 字符其返回s1 中找到的匹配字符的索引size_t strlen(char *s)返回字符串s 的长度不包括结束NULL 字符char *strncat(char *s1, char *s2, size_t n)拷贝字符串s2 不含结束NULL 字符中n 个字符到s1 如果s2 长度比n 小则只拷贝s2返回s1int strncmp(char *s1, char *s2, size_t n)基本和strcmp 函数相同但其只比较前n 个字符char *strncpy(char *s1, char *s2, size_t n)基本和strcpy 函数相同但其只拷贝前n 个字符char *strpbrk(char *s1, char *s2)基本和strcspn 函数相同但它返回的是在s1 匹配字符的地址指针否则返回NULL 指针char *strrchr(char *s, int c)在字符串s 中搜索最后出现的c 并返回它的指针否则返回NULL .size_t strspn(char *s1, char *s2)在字符串s1 搜索与字符串s2 不匹配的第一个字符包括结束NULL 字符其返回s1 中找到的第一个不匹配字符的索引char *strstr(char *s1, char *s2)在字符串s1 中找到与s2 匹配的子字符串如果成功它返回s1 中匹配子字符串的地址指针否则返回NULL"const char *" 支持函数这些函数除了它的操作对象是在FLASH 中常数字符串外其余同c 中的函数size_t cstrlen(const char *s)char *cstrcpy(char *dst, const char *src);int cstrcmp(const char *s1, char *s2);8 变量参数函数<stdarg.h>提供再入式函数的变量参数处理它定义了不确定的类型va_list 和三个宏va_start(va_list foo, <last-arg>)初始化变量foova_arg(va_list foo, <promoted type>)访问下一个参数分派指定的类型注意那个类型必须是高级类型如int long 或double小的整型类型如"char"不能被支持va_end(va_list foo)结束变量参数处理例如printf()可以使用vfprintf()来实现#include <stdarg.h>int printf(char *fmt, ...){va_list ap;va_start(ap, fmt);vfprintf(fmt, ap);va_end(ap);}9 堆栈检查函数有几个库函数是用于检查堆栈是否溢出内存图如下如果硬件堆栈增长到软件堆栈中那么软件堆栈的内容将会被改变也就是说局部变量和别的堆栈项目被改变硬件堆栈是用作函数的返回地址如果你的函数调用层次太深偶然会发生这种情况同样地软件堆栈溢出进数据区域将会改变全局变量或其它静态分配的项目如果你使用动态分配内存还会改变堆项目这种情况在你定义了太多的局部变量或一个局部集合变量太大也会偶然发生高端地址硬件堆栈区警戒线软件堆栈区警戒线数据区低端地址警戒线启动代码写了一个正确的关于数据区的地址字节和一个类似的正确的关于软件堆栈的地址字节作为警戒线[注意如果你使用了你自己的启动文件而其又是以6.20 版本之前的启动文件为基础的你将需要额外改造为新的启动文件]注意如果你使用动态分配内存你必须跳过警戒线字节_bss_end 来分配你的堆参考内存分配函数堆栈检查你调用_StackCheck(void)函数来检查堆栈溢出如果警戒线字节仍然保持正确的值那么函数检查通过如果堆栈溢出那么警戒线字节将可能被破坏注意当你的程序堆栈溢出的时候你的程序将可能运行不正常或偶然崩溃当_StackCheck 检查错误条件时它调用了带一个参数的函数_StackOverflowed(char c) 如果参数是1 那么硬件堆栈有过溢出如果参数是0 那么软件堆栈曾经溢出在那个例子中制造了两个功能调用它是两个堆栈都可能溢出的无论如何在_StackOverflowed 执行起作用时第二个调用不可以出现作为例子如果函数复位了CPU 那么将不能返回_StackCheck 函数缺省的_StackOverflowed 函数当它被调用时库会用一个缺省的_StackOverflowed 函数来跳转到0 的位置因此复位CPU 和程序你可能希望用一个函数来代替它以指示更多的错__。

c语言conio.h头文件介绍

c语言conio.h头文件介绍

c语言conio.h头文件介绍C语言图形编程(一,字符屏幕)一,屏幕操作函数1. clrscr()清除字符窗口函数2. window()字符窗口函数3. gotoxy()光标定位函数4. clreol() 清除光标行尾字符函数5. insline() 插入空行函数6. delline() 删除一行函数7. gettext() 拷进文字函数8. puttext() 拷出文字函数9. movetext() 移动文字函数二,字符属性函数10. textmode() 文本模式函数11. highvideo()高亮度函数12. lowvideo() 低亮度函数13. normvideo(void);14. textcolor() 文本颜色函数15. textattr() 文本属性函数16.textbackground() 文本背景函数三, 屏显状态函数17. wherex() 光标处x坐标函数18. wherey() 光标处y坐标函数19. gettextinfo() 获取文本窗口信息函数在Borland C++里面提供了字符屏幕和图形函数.字符屏幕的核心是窗口(Window),它是屏幕的活动部分,字符输出或显示在活动窗口中进行.窗口在缺省时,就是整个屏幕.窗口可以根据需要指定其大小.同样,对图形函数的操作,也提供了(Viewport).也就是说图形函数的操作都是在视口上进行.图形视口与字符窗口具有相同的特性,用户可以在屏幕上定义大小不同的视口,若不定义视口大小,它就是整个屏幕.窗口是在字符屏幕下的概念,只有字符才能在窗口中显示出来,这时用户可以访问的最小单位为一个字符.视口是在图形屏幕状态下的概念,文本与图形都可以在视口上显示,用户可访问的最小单位是一个像素(像素这一术语最初用来指显示器上最小的,单独的发光点单元.然而现在,其含义拓宽为指图形显示器上的最小可访问点).字符和图形状态下,屏幕上的位置都是由它们的行与列所决定的.有一点须指出:字符状态左上角坐标为(1,1),但图形左上角坐标为(0,0).了解字符屏幕和图形函数与窗口和视口的关系是很重要的.例如,字符屏幕光标位置函数gotoxy()将光标移到窗口的x,y位置上,这未必是相对于整个屏幕.下面介绍常用的几类字符屏幕函数的功能用途,操作方法及其例行程序.一,屏幕操作函数编写程序绘图经常要用到对字符屏幕进行操作.例如,在往屏幕上写字符之前,首先要将屏幕清除干净.又如,有时需要在屏幕上多处写上肉中刺样的字符内容,这时最好用屏幕拷贝来高效率地完成这一任务.对这些操作,Borland C++提供了一系列字符屏幕操作函数来实现.1. clrscr()清除字符窗口函数功能:函数clrscr()清除整个当前字符窗口,并且把光标定位于左上角(1,1)处.用法:此函数调用方式为 void clrscr(void);说明:括号中void 表示无参数.该函数相应的头文件为conio.h返回值:无例:使用这个函数的例子见4.clreol()函数的实例中.2. window()字符窗口函数功能: 函数window()用于在指定位置建立一个字符窗口.用法: 此函数调用方式为void window(int left,int top,int right,int bottom);说明: 函数中参数left,top为窗口左上角坐标;right,bottom为其右下角坐标.若有一个坐标是无效的,则window()函数不起作用.一旦该函数调用成功,那么所有定位坐标都是相对于窗口的,而不是相对于整个屏幕.但是建立窗口所用的坐标总是相对整个屏幕的绝对坐标,而不是相对当前窗口的相对坐标.这样用户就可以根据各种需要建立多个互不嵌套的窗口.此函数的头文件为conio.h.返回值:无例: 调用这个函数的实现例见3.gotoxy()函数的例子中.3. gotoxy()光标定位函数功能: 函数gotoxy()将字屏幕上的光标移到当前窗口指定的位置上.用法: 这个函数调用方式为void gotoxy(int x,int y);说明: 括号里x,y是, 光标定位的坐标,如果其中一个坐标值无效(如坐标超界),那么光标不会移动.此函数在字符状态(有时称为文本状态)下经常用到,其相应的头文件为conio.h返回值:无例: 下面程序建立两个窗口,然后在窗口里显示字符,字符的位置是调用该函数确定的.#include"conio.h>void border(int startx,int starty,int endx,int endy){register int i;gotoxy(1,1);for(i=0;i<=endx-startx;i++)putch('-');gotoxy(1,endy-starty);for(i=0;i<=endx-startx;i++)putch('-');for(i=2;ivoid main(){register int i;gotoxy(6,8);printf("This is a test of the clreol() function.");getch();gotoxy(6,8);clreol();for(i=0;i<20;i++)printf("Hello\n");getch();clrscr();}5. insline() 插入空行函数功能: 函数insline()插入一空行到当前光标所在行上,同时光标以下的所有行都向下顺移一行.用法: 此函数的调用方式为void insline(void);说明: 该函数只用于文本方式,并且在当了符窗口才有效.这个函数的对应头文件是 conio.h返回值:无例: 程序给出了insline()函数的用法.#include "conio.h"void main(){registser int i;clrscr();for(i=1;i<24;i++){gotoxy(1,i);printf("This is line %d\n",i);}getch();gotoxy(1,10);insline();getch();}6. delline() 删除一行函数功能: 函数delline()删除当前窗口内光标所在行,同时把该行下面所有行都上移一行.用法: 此函数调用方式为 void delline(void);说明: 注意,如果当前窗口小于整个屏幕,那么该函数只影响到窗口内的字符.这个函数相应的头部文件是conio.h返回值: 无例:先在屏幕上显示16行文字,然后删除第4行#include "conio.h"void main(){register int i;clrscr();for(i=0;i<16;i++) printf("line %d\n",i);getch();gotoxy(1,4);delline();getch();}7.gettext() 拷进文字函数功能: 函数gettext()用于文本状态下将屏幕上矩形域内的文字拷进内存.用法: 该函数调用方式为 int gettext(int left,int top,int right,intbottom,void *buffer);说明: 函数中参数left,top为矩形区域的左上角坐标,right,bottom 为其右下角坐标,这些坐标是屏幕的绝对坐标,不是窗口的相对坐标.buffer指针必须指向一个足够保存该矩形域内文字的内存.所用内存大小按下式计算:点头用字节数=矩形哉内的行数×矩形域的列数×2这里将行数乘以列数再乘以2的原因是保存屏幕上每个字符要用两个字节存储单元,一个字节存储单元存放字符本身,而另一个存放其属性.此函数相应的头文件是 conio.h返回值: 若函数调用成功则返回1,否则返顺0.例: 把屏幕左上角点(1,1)和右下角点(10,10)的区域拷贝到buf指向的内存中去.buf=(char *)malloc(10*10*2);if(!buf)gettext(1,1,10,10,buf);8. puttext() 拷出文字函数功能: 函数puttext()把先前由gettext()保存到buffer指向的内存中的文字拷出到屏幕上一个矩形区域中.用法: 此函数调用方式为 int puttext(int left,int top,int right,int bottom,void *buffer);说明: 函数里left,top为给出的屏幕上矩形区域的左上角点,right,bottom为其右下角点,其坐标是用屏幕的绝对坐标,而不是用窗口的相对坐标.该函数相应的头文件为conio.h返回值: 函数调用成功返回值为1,否则返回0.例: 屏幕上某个区域内容拷进buf指向的内存中,然后又将这些文字拷出到屏幕上新位置.buf=(char *)malloc(10*10*2);gettext(1,1,10,10,buf);puttext(16,16,30,30,buf);9. movetext() 移动文字函数功能: 函数movetext()将屏幕上一个矩形区域的文字移到另一个区域上.用法: 该函数调用方式为int movetext(int left,int top,int right,int bottom,int newleft,int newtop);说明: 上面left,top为矩形区域上角坐标,right,bottom为其右下角坐标,newleft,newright为移动到区域左上角坐标.这些坐标是屏幕的绝对坐标,不是窗口的相对坐标.若要把屏幕上一段文字移到屏幕的另一位置,那么使用movetext()函数比用gettext()然后再用puttext()效率更高.此函数相应的头文件是conio.h返回值: 如果有一个以上坐标无效,那么函数返回值为0,否则返回1.列: 把屏幕左上角点(8,8),右下角点(20,20)的矩形区域文字移动到左上角点(10,10)的位置上:movetext(8,8,20,20,10,10);10. textmode() 文本模式函数功能: 函数textmode()针屏幕设置为文本模式(或者说字符状态).用法: 函数调用方式为 void textmode(int mode);说明: 参数mode必须为表1-2中所示的模式之一⑴以用模式名(符号值),也可以用其等价的整数值.表1-2 文本模式---------------------------------------------------------------- 模式名(符号值) 等价整数值说明BW40 0 40列黑白C 40 1 40列彩色BW80 2 80列黑白C 80 3 80列彩色MONO 7 80列单色LASTMODE -1 上次模式----------------------------------------------------------------调用该函数后,屏幕复位,并且所有字符的属性恢复其缺省值.此函数对应的头文件是conio.h返回值: 无例: 把屏幕设置为80列彩色模式textmode(C80);二,字符属性函数用户可以设置字符显示的高亮度或低亮度的写的符闪烁及其背景颜色等.具有这些操作的函数称为字符属性函数.除了仅支持单模式和单色的显示卡外,字符属性函数适用于其余所有的显示卡.11. highvideo()高亮度函数功能: 函数highvideo()设置屏幕为高亮度显示.用法: 此函数调用方式为void highvideo(void);说明: 调用该函数后,写到屏幕上的字符是高亮度的.此函数只适用于文本模式状态(或说字符屏幕状态).这个函数对应的头文件为 conio.h返回值: 无例: 设置屏幕显示为高亮度的.highvideo();12. lowvideo() 低亮度函数功能: 函数lowvideo()设置屏幕为低亮度显示.用法: 该函数调用方式为void lowvideo(void);说明: 调用该函数后,此时写到屏幕上的字符是低亮度的.这个函数只适用于文本模式状态(或说字符屏幕状态).此函数相应的头文件是 conio.h返回值: 无例: 设置屏幕显示为低亮度的lowvideo();13. normvideo(void);功能: 函数normvideo()设置屏幕为正常亮度显示.用法: 这个函数调用方式为void normvideo(void);说明: 调用该函数后,此时写到屏幕上的字符是正常亮度的,该函数只适用于文本模式状态(或说字符状屏幕状态).此函数相应的头文件为conio.h返回值: 无例: 设置屏幕显示为正常亮度.normvideo();14. textcolor() 文本颜色函数功能: 函数textcolor()设置字符屏幕下文本颜色(或字符颜色),它也可以用于使字符闪烁.用法: 这个函数调用方式为void textcolor(int color);说明: 函数中参数color的有效值可取表1-3中的颜色名(即宏名)或等价值.表1-3 颜色名与等价值---------------------------------------------------名等价值含义BLACK 0 黑BLUE 1 蓝GREEN 2 绿CYAN 3 青RED 4 红MAGENTA 5 洋红BROWN 6 棕LIGHTGRAY 7 淡灰DRAKGRAY 8 深灰LIGHTBLUE 9 淡蓝LIGHTGREEN 10 淡绿LIGHTCYAN 11 淡青LIGHTRED 12 淡红LIGHTMAGENTA 13 淡洋红YELLOW 14 黄WHITE 15 白BLINK 128 闪烁------------------------------------------------------------textcolor()函数执行后,只影响其后输出探险符颜色,而不改变已经在当前屏幕上的其它字符颜色.显然,如果需要输出的字符闪烁,只要将函数中参数color取为BLINK即可,如果要使字符带颜色闪烁,就必须将所选的颜色值与128作"或"运算.此函数相应的头文件是 conio.h返回值: 无例: 下面程序段中第一条语句使输出的字符闪烁,第三条语句使字符输出为经色同时闪烁:textcolor(BLINK);printf("hello");textcolor(RED|BLINK);15. textattr() 文本属性函数功能: 函数textattr()用于设置文本属性,即字符背景颜色,字符本身颜色和字符闪烁与否.用法: 函数调用方式为void textattr(int attribute);说明: 设置字符背景颜色属性字节的最简单方法是,用所选的背景颜色值乘以16再与字符颜色值作按位或(OR)运算.例如需要红色背景,绿色字符,就设置成RED*16|GREEN,若还要字符闪烁,就把背景颜色值,字符颜色值与闪烁值一起按位作或运算.如蓝背景,黄字符且闪烁,就设置成为:YELLO|128|BLUE*16第0位用于设置字符颜色.此函数相应的头文件为conio.h返回值: 无例: 设置背景为蓝色,字符为红色并且字符闪烁:textattr(RED|128|BLUE*16);16.textbackground() 文本背景函数功能: 函数textbackground()设置字符屏幕下文本背景颜色(或字符背景颜色).用法: 此函数调用方式为void textbackground(int bcolor);说明: 参数bcolor 的有效值取表1-4背景颜色(即宏名)或等价值.表1-4 背景颜色与等价值-------------------------------------------------背景颜色等价值含义-------------------------------------------------BLACK 0 黑BLUE 1 蓝GREEN 2 绿CYAN 3 青RED 4 红MAGENTA 5 洋红BROWN 6 棕-------------------------------------------------调用该函数只影响后续写的字符背景颜色,而不改变当前显示在屏幕上的字符背景颜色.这个函数对应的头文件是conio.h返回值: 无例: 设置文本背景颜色为蓝色:textbackground(BLUE));三, 屏显状态函数这里提供三个在文本模式下屏幕显示状态的函数17. wherex() 光标处x坐标函数功能: 函数wherex()返回当前窗口中光标处横向坐标.用法: 此函数调用方式为int wherex(void);说明: 这个函数调用无参数,其对应的头文件是conio.h返回值: 函数调用成功,返回光标处x坐标值.例: 调用这个函数的实例见18.wherey()函数的例中.18. wherey() 光标处y坐标函数功能: 函数wherey()返回当前窗口中光标处纵向坐标.用法: 该函数调用方式为int wherey(void);说明: 此函数调用无参数,其相应的头文件是conio.h返回值: 函数调用成功,返回光标处y坐标值.例: 调作函数wherex()与wherey(),返回当前光标处x坐标与y坐标,并赋给整型变量xpos ,ypos.int xpos,ypos;xpos=wherex();ypos=wherey();19. gettextinfo() 获取文本窗口信息函数功能: 函数gettextinfo()获取当前文本窗口信息,并存放在实参结构中.用法: 函数调用方式为void gettextinfo(struct text-info *info);说明: 函数中参数info 为struct text-info结构型指针,struct text-info结构在此函数相应的头文件中定义为:struct text-info{unsigned char winleft; // 窗口左上角x坐标unsigned char wintop; // 窗口左上角y坐标unsigned char winright; // 窗口右下角x坐标unsigned char winbottom; // 窗口右下角y坐标unsigned char attribute; // 文本属性unsigned char normattr; // 正常属性unsigned char currmode; // 当前屏显模式unsigned char screenhight // 文本窗口高度(以行数计)unsigned char screenwidth; // 文本窗口宽度(以字符个数计)unsigned char curx; // 光标处x坐标unsigned char cury; // 光标处y坐标};记住,调用函数gettextinfo()时,要传递struct text-info结构型指针或该结构的首地址,不要传递结构变量本身.这个函数对应的头文件是conio.h返回值: 返回文本窗口角点坐标,高宽度,文本属性等值,并存放在info所指向的结构变量中.例: 程序语句说明如何正确调用gettextinfo()函数:struct text-info win-status;gettextinfo(&win-status);C语言图形编程(二,图形显示)一,确定显示卡二,选择显示模式三,图形显示20. detectgraph() 显示卡检测函数21. initgraph() 图形初始化函数22. getdrivername() 获取图形驱动程序名的指针23. getgraphmode() 获取图形模式函数24. getmoderange()获取模式值范围函数25. getmaxmode()获取最大显示模式函数26. getmodename()获取显示模式名函数27. graphdefaults()图形设置复位缺省值函数28. setgraphmode() 设置图形模式函数29. restorecrtmode() 恢复文本显示模式函数30. graphresult() 图形操作结果函数31. grpaherrormsg() 图形错误信息函数32. setgraphbufsize()设置图形缓冲区大小函数33. setactivepage() 设置可输出显示页函数34. setvisualpage() 设置可见显示页数35. closegraph()关闭图形模式函数一,确定显示卡微机系统显示部分由显示器(monitor)和显示卡(adapter)两部分组成.显示器是独立于主机的一种外部设备,显示卡或称显示适配卡,也有的称图形卡,是插在主机上的一块电路板.但也有的显示卡与主机板设计在一起.显示卡包括寄存器组,存储器和控制电路三大部分.其中存储器又包括显示RAM和ROM BIOS两部分,微机对显示屏幕的所有操作都是通过显示卡来实现的.因此要进行图形显示 ,首先要确定计算机上安装的是何种显示卡.一种方法是询问计算机或终端使用者,确定将要使用的显示卡类型.这种方法很难,因为甚至专业程序员也不总是能确定他正在使用什么样的硬件.另一种方法是用软件查询硬件以识别当前的配置.如果有一些识别硬件的标准,这就很简单了.在Borland C中对现在所使用的各种显示卡提供了支持,这只要调用detectgraph()函数就可以了,该函数为程序员确定计算机上使用的显示卡类型.二,选择显示模式显示模式是指显示卡支持的分辨率与相应的颜色配置.每台计算机都配置了某种类型显示卡,可以为该显示卡指定显示模式.三,图形显示进行图形显示首先要确定显示卡,然后选择其显示模式.这些工作都可以调用图形功能函数来完成,其实就是把适合于显示卡的图形驱动程序装入内存.如果图形驱动程序未装入内存,那么图形函数就不能操作.20. detectgraph() 显示卡检测函数功能: 函数detectgraph()在计算机上安装有显示卡的情况下,测定其显示卡的类型.用法: 此函数调用方式为void detectgraph(int *driver,int *mode);说明: 函数把driver所指向的整型变量设置为图形驱动程序的代码,把mode所指向的整型变量设置为显示卡支持的最高有效模式(即该显示卡能支持的最高分辨率).该函数相应的头文件为graphics.h返回值: 返回适合于该显示卡的图形驱动程序的代码(也称等价值),并存放在driver指向的变量中.若计算机系统中无图形硬件,则由driver 指向的变量设置为-2.例: 检测计算机是否装有显示卡:int driver,mode;detectgraph(&driver,&mode);if(driver==-2){printf("no graphics adapter in the computer");exit(1);}21. initgraph() 图形初始化函数功能: 函数initgraph()用于初始化图形系统,把适合的图形驱动程序装入内存,设置图形函数所用的显示模式.用法: 该函数调用方式为void initgraph(int *driver,int *mode,char *path);说明: 1) 函数中参数driver指向图形驱动程序(或者等价值).在头部文件graphics.h中定义了图形驱动程序的宏名与其等价 ,如下:宏名等价值------------------------------DETECT 0CGA 1MCGA 2EGA 3EGA64 4EGAMONO 5IBM8514 6HERCMONO 7ATT400 8VGA 9PC3270 10--------------------------------注:在现在的计算机中,上表中的许多显示卡已经过时,不再使用.这样就不必担心图形驱动程序的准确名字,而只要用其等价值即可,若使用detect(即等价值0)时,initgraph()函数自动检测当前计算机中装有的显示卡类型,并且选用最大分辨率的显示模式.2)参数mode指向显示模式或用等价值(风表1-5),mode所指的值必须是有效模式之一.3)参数path指向图形驱动程序所在的路径,例如path="C:\TC\BG1".若没有指定路径,就在当前目录下寻找.一般图形驱动程序包含在.BGI文件中,这些文件是系统可以得到的.这个函数对应的头文件是graphics.h.返回值: 无例: 调用initgraph()自动检测硬件图形系统,并选用最大分辨率显示模式.init drver,mode;driver=DETECT;mode=0;initgraph(&driver,&mode,"");22. getdrivername() 获取图形驱动程序名的指针功能: 函数getdrivername()返回指向当前图形驱动程序名的指针.用法: 此函数调用方式为char *getdrivername(void);说明: 本函数可以用来检测显示卡,但只能在initgraph()设置图形驱动程序和显示模式之后调用.该函数相应的头文件为graphics.h返回值: 返回一指针,指向含有当前图形驱动程序名的字符串.例: 显示当前图形驱动程序名:#include#includevoid main(){int graphdriver=DETECT,graphmode;initgraph(&graphdriver,&graphmode,"");s=getdrivername();outtext("Using driver:");outtext(s);getch();closegraph();}23. getgraphmode() 获取图形模式函数功能: 函数getgrapgmode()返回当前图形模式.用法: 该函数调用方式为int getgraphmode(void);说明: getgraphmode()函数无参数调用.这个函数对应的头文件是graphics.h返回值: 返回initgraph()或setgraphmode()所设置的当前图形模式值.例: 显示当前图形模式的代码:printf("graphics mode is %d",getgraphmode());24. getmoderange()获取模式值范围函数功能: 函数getmoderange()返回指定的图形驱动程序能够支持的最低和最高模式值.用法: 函数调用方式为void getmoderange(int driver,int *lowmode,int himode);说明: 参数driver是用来调用此函数时,指定图形驱动程序等价值或宏名.其有效值如下:-------------------------------------宏名等价值-------------------------------------DETECT0CGA1EGA3EGA644EGAMONO5IBM85146HERCMONO7ATT4008VGA9PC327010-------------------------------------注:上表中的许多显示卡在现在的计算机上已经过时,仅作参考.该函数想应的头文件为graphics.h返回值: 返回的最小和最大有效值存放在参数指针lowmode和himode分别指向的整型变量中.例: 显示当前图形硬件的显示模式的范围值:#include"graphics.h"void main(){int driver,mode;int low,high;mode=0;initgraph(&driver,&mode,"");getmoderange(driver,&low,&high);printf("mode range:%d--%d,low,high);getch();rstorecrtmode();}25. getmaxmode()获取最大显示模式函数功能: 函数getmaxmode()返回当前加载的图形驱动程序所支持的最大有效显示模式.用法: 函数调用方式为int getmaxmode(void);说明:本函数无参数调用,返回图形驱动程序所支持的最大显示模式,所有图形驱动程序支持从0到getmaxmode()函数返回值中的任一整数值(对应的显示模式).这个函数对应的头文件是graphics.h返回值:返回图形驱动程序所支持的显示模式最大值.例: 显示当前最大显示模式:printf("The maxmode of this driver is %d\n",getmaxmode());26. getmodename()获取显示模式名函数功能: 函数getmodename()可获取当前图形驱动程序支持的指定显示模式的名字.用法: 此函数调用方式为char *getmodename(int modecode);说明: 参数modecode为整型值.用以指定一显示模式值调用该函数.这个函数对应的头文件graphics.h返回值: 返回指定模式值的显示模式名.例: 显示当前最大显示模式名:#include#includevoid main(){int graphdriver=DETECT,graphmode;int modecode;char *s;initgraph(&graphdriver,&graphmode,"");modecode=getmaxmode();s=getmodename(modecode);outtext("The maxmode name is:");outtext(s);getch();closegraph();}27. graphdefaults()图形设置复位缺省值函数功能: 函数grpahdefaults()把所有图形设置复位为它们的缺省值,这包括把图形视口复位为全屏幕;当前位置定位在0,0;调色板,背景色和绘图色都被复位;填充颜色,填充图样,文本文字和排齐方式都返回到它位的缺省值.用法: 此函数调用方式为void graphdefaults(void);说明: 该函数无参数调用.这个函数相应的头文件为graphics.h返回值: 无例: 将图形系统恢复为其缺省值:graphdefaults();28. setgraphmode() 设置图形模式函数功能: 函数setgraphmode()用当前图形驱动程序有效的图形模式调用,一旦被调用,setgraphmode()选择一个新的图形模式.注意,图形显示模式必须事先由initgraph()初始化.用法: 该函数调用方式为void setgraphmode(int mode);说明: 参数mode调用时为指定的模式值.此函数相应的头部文件是graphics.h返回值: 无例: 把VGA图形卡设置为VGAMED模式:setgraphmode(VGAMED); // 图形系统已经初始化29. restorecrtmode() 恢复文本显示模式函数功能: 函数restrecrtmode()将显示模式恢复到调用initgraph()时检测出的初始文本模式.用法: 这个函数调用方式为void restorecrtmode(void);说明: 函数restorecrtmode()和setgraphmode()函数一起使用,可以实现文本与图形显示之间的切换.此函数对应的头文件为graphics.h返回值: 无例: 恢复显示模式为初始文本模式:restorecrtmode();30. graphresult() 图形操作结果函数功能: 函数graphresult()函数返回最后一次图形操作的代码.用法: 此函数调用方式为int graphresult(void);说明: C为图形设置了代码,它们是从-15到0的整数值.其含义见表1-6.调用该函数时,出错状态被复位为0,所以返回值(代码)最好存于变量中,以供需要时检测,进行下一步图形操作.图形操作信息名称代码含义grOKgrNoInitGraphgrNoDetectedgrFileNoFoundgrInvalidDrivergrNoLoadMemgrNoScanMemgrNoFloadMemgrFontNotFoundgrNoFontMemgrInvalidModegrErrorgrIOerrorgrInvalidFontgrInvalidDeviceNum 0-1-2-3-4-5-6-7-8-9-10-11-12-13-14-15成功没有图形初始化没有检测到图形硬件没有找到图形驱动文件无效图形驱动程序没有足够内存装入图形驱动程序Scan填充内存不足Flood填充内存不足没有找到字体文件没有足够内存用于装字体文件无效图形模式一般图形错误输入输出错误无效字体文件无效字体号无效设备号这个函数对应的头部文件是graphics.h返回值: 返回最后一次图形操作结果相应的代码.例: 调用graphresult()函数的实例见下面grapherrormsg()函数的例子.31. grpaherrormsg() 图形错误信息函数功能: 函数grapherrormsg()返回指向出错代码相应的错误信息字符串的指针.用法: 此函数调用方式为char *grapherrormsg(int errcode);说明: 参数errcode值,即出错代码由调用函数graphresult()获得.这里所有出错代码及相应的错误信息如表1-6中所述.该函数相应的头文件是grpahics.h返回值: 返回一个指向该出错代码相应的错误信息字符串的指针.例: 用文字形式显示有关出错代码相应的错误信息:int errorcode;errorcode=graphresult();printf(%s",grapherrormsg(errcode));32. setgraphbufsize()设置图形缓冲区大小函数功能: 函数setgraphbufsize()用来设置有的图形函数(如floodfill 等)所要用到的内存缓冲区大小.用法: 函数调用方式为unsigned setgraphbufsize(unsigned bufsize);说明: 这里无符号参数bufsize为所设置的缓冲区大小.一般不需要用到该函数,仅使用由initgraph()函数产生的内存缓冲区就够了,缓冲区大小缺省时为4KB(即4096个字节),足以用来填充一个大约有650个顶点的多边形,但是为了节省内存,用户可以减少缓冲区的大小,或者由于需要更多的缓冲区内存,这时可用函数setgraphbufsize()来增加缓冲区大小.注意,使用setgraphbufsize()函数必须在调用initgraph()之前.返回值: 返回先前定义的图形缓冲区字节数.例: 调用此函数设置图形缓冲区为8KB字节:setgraphbufsize(0x2000);33. setactivepage() 设置可输出显示页函数功能: 函数setactiveage()设置用作图形输出的显示页.用法: 这个函数调用方式为void setactivepage(int pagenum);说明: 参数pagenum为选择的显示页号,如果调用成功,那么后续图形输出就写到选定的输出页上.缺省时是以0页作为当前输出页.该函数只在图形驱动程序及其显示模式支持多个显示页时才起作用.此函数相应的头文件为graphics.h返回值: 无例: 设置1页为输出显示页:setactivepage(1);34. setvisualpage() 设置可见显示页数功能: 函数setvisualpage()设置屏幕上可见的显示页.用法: 函数调用方式为void setvisualpage(int pagenum);说明: 参数pagenum为设置的显示页号.缺省时是以0页作为当前可见页.调用这个函数和调用setactivepage()一样,仅在图形驱动程序及其显示模式支持多个显示页时才有效.用户可以用系统所支持的任何显示页,在它们之间切换,当然一次只能有一个显示页在屏幕上可见,有时需要在一页上建立后备图形葨图像,它在当时不显示,一旦需要时,可以马上切换到该页,如要实现动画效果,只需切换显示页号即可.用setvisualpage()函数选定实际显示在屏幕上的可见页,用setactivepage()函数选择当前图形输出页,从而实现图形页之间的显示切换,通常这两个函数都是缺省的,这时输出页就是可见页.若不绘制动画就不需要用到这两个函数.这两个函数对应的头文件是graphics.h返回值: 无例: 设置可见页为第1页:setvisualpage(1);35. closegraph()关闭图形模式函数功能: 函数closegraph()将系统图形模式关闭,,复位到initgraph()初始文本模式,并且释放图形驱动程序,字体和内部缓冲区所占用的系统。

c语言中常用的函数和头文件

c语言中常用的函数和头文件

头文件ctype.h函数列表<>函数类别函数用途详细说明字符测试是否字母和数字isalnum是否字母isalpha是否控制字符iscntrl是否数字isdigit是否可显示字符(除空格外)isgraph是否可显示字符(包括空格)isprint是否既不是空格,又不是字母和数字的可显示字符ispunct是否空格isspace是否大写字母isupper是否16进制数字(0-9,A-F)字符isxdigit字符大小写转换函数转换为大写字母toupper转换为小写字母tolower地区化本类别的函数用于处理不同国家的语言差异。

头文件local.h函数列表函数类别函数用途详细说明地区控制地区设置setlocale数字格式约定查询国家的货币、日期、时间等的格式转换localeconv数学函数本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51)头文件math.h函数列表函数类别函数用途详细说明错误条件处理定义域错误(函数的输入参数值不在规定的范围内)值域错误(函数的返回值不在规定的范围内)三角函数反余弦acos反正弦asin反正切atan反正切2 atan2余弦cos正弦sin正切tan双曲函数双曲余弦cosh双曲正弦sinh双曲正切tanh指数和对数指数函数exp指数分解函数frexp乘积指数函数fdexp自然对数log以10为底的对数log10浮点数分解函数modf幂函数幂函数pow平方根函数sqrt整数截断,绝对值和求余数函数求下限接近整数ceil绝对值fabs求上限接近整数floor求余数fmod本分类函数用于实现在不同底函数之间直接跳转代码。

头文件setjmp.h io.h函数列表函数类别函数用途详细说明保存调用环境setjmp恢复调用环境longjmp信号处理该分类函数用于处理那些在程序执行过程中发生例外的情况。

C语言头文件大全

C语言头文件大全

1 头文件ctype.h函数列表<>函数类别函数用途详细说明字符测试是否字母和数字isalnum是否字母isalpha是否控制字符iscntrl是否数字isdigit是否可显示字符(除空格外)isgraph是否可显示字符(包括空格)isprint是否既不是空格,又不是字母和数字的可显示字符ispunct是否空格isspace是否大写字母isupper是否16进制数字(0-9,A-F)字符isxdigit字符大小写转换函数转换为大写字母toupper转换为小写字母tolower地区化本类别的函数用于处理不同国家的语言差异。

2 头文件local.h函数列表函数类别函数用途详细说明地区控制地区设置setlocale数字格式约定查询国家的货币、日期、时间等的格式转换localeconv数学函数本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51) .3 头文件math.h函数列表函数类别函数用途详细说明错误条件处理定义域错误(函数的输入参数值不在规定的范围内)值域错误(函数的返回值不在规定的范围内)三角函数反余弦acos反正弦asin反正切atan反正切2 atan2余弦cos正弦sin正切tan双曲函数双曲余弦cosh双曲正弦sinh双曲正切tanh指数和对数指数函数exp指数分解函数frexp乘积指数函数fdexp自然对数log以10为底的对数log10浮点数分解函数modf幂函数幂函数pow平方根函数sqrt整数截断,绝对值和求余数函数求下限接近整数ceil绝对值fabs求上限接近整数floor求余数fmod本分类函数用于实现在不同底函数之间直接跳转代码。

4 头文件setjmp.h io.h函数列表函数类别函数用途详细说明保存调用环境setjmp恢复调用环境longjmp信号处理该分类函数用于处理那些在程序执行过程中发生例外的情况。

C语言头文件使用大全

C语言头文件使用大全

头文件ctype.h函数列表<>函数类别函数用途详细说明字符测试是否字母和数字isalnum 是否字母isalpha 是否控制字符iscntrl 是否数字isdigit 是否可显示字符(除空格外)isgraph 是否可显示字符(包括空格)isprint 是否既不是空格,又不是字母和数字的可显示字符是否空格isspace 是否大写字母isupper 是否16 进制数字(0-9,A-F )字符isxdigit 字符大小写转换函数转换为大写字母toupper 转换为小写字母tolowerispunct 地区化本类别的函数用于处理不同国家的语言差异头文件local.h 函数列表函数类别函数用途详细说明地区控制地区设置setlocale数字格式约定查询国家的货币、日期、时间等的格式转换localeconv数学函数本分类给出了各种数学计算函数,必须提醒的是ANSI C 标准中的数据格式并不符合IEEE754 标准,一些C 语言编译器却遵循IEEE754(例如frinklin C51)头文件math.h函数列表函数类别函数用途详细说明错误条件处理定义域错误(函数的输入参数值不在规定的范围内)值域错误(函数的返回值不在规定的范围内)三角函数反余弦acos反正弦asin 反正切atan反正切2 atan2余弦cos 正弦sin 正切tan 双曲函数双曲余弦cosh 双曲正弦sinh 双曲正切tanh 指数和对数指数函数exp 指数分解函数frexp 乘积指数函数fdexp 自然对数log 以10 为底的对数log10 浮点数分解函数modf 幂函数幂函数pow 平方根函数sqrt 整数截断,绝对值和求余数函数求下限接近整数绝对值fabs 求上限接近整数floor 求余数fmod本分类函数用于实现在不同底函数之间直接跳转代码文件setjmp.h io.h函数列表函数类别函数用途详细说明保存调用环境setjmpceil恢复调用环境longjmp信号处理该分类函数用于处理那些在程序执行过程中发生例外的情况。

c语言开头格式

c语言开头格式

C语言的开头格式通常包括头文件和main函数,具体如下:
1. 头文件:#include <stdio.h>
这是一个预处理指令,它指示编译器在编译过程中引入标准输入输出库(stdio.h),以便后续的程序可以使用标准输入输出函数,例如printf()和scanf()等。

2. main函数:int main()
这是C语言程序的入口函数,程序将从这里开始执行。

main函数必须返回一个整数值,通常情况下,返回值为0表示程序正常结束,非0值则表示程序异常结束。

在main函数中可以编写程序代码,完成特定的任务。

例如,可以编写代码来计算两个数的和、输出一段文本、读取用户输入等等。

C语言文件操作函数大全

C语言文件操作函数大全

C语言文件操作函数大全1. `fopen`:打开文件```FILE* fopen(const char* filename, const char* mode);```该函数用于打开一个文件,成功打开返回文件指针,打开失败返回`NULL`。

`filename` 是要打开的文件名,`mode` 是打开模式,常用的模式有 "r"(只读)、"w"(可写,若文件不存在则创建新文件)、"a"(追加模式)。

2. `fclose`:关闭文件```int fclose(FILE* stream);```该函数用于关闭一个文件,成功关闭返回0,关闭失败返回 `EOF`。

`stream` 是要关闭的文件指针。

3. `fread`:读取文件内容```size_t fread(void* ptr, size_t size, size_t count, FILE* stream);```该函数从文件中读取内容,存储到指定的内存块。

`ptr` 是指向要读取数据的内存块的指针,`size` 是每个数据项的大小,`count` 是要读取的数据项数目。

4. `fwrite`:写入文件内容```size_t fwrite(const void* ptr, size_t size, size_t count, FILE* stream);```该函数将指定的内存块内容写入文件。

`ptr` 是指向要写入数据的内存块的指针,`size` 是每个数据项的大小,`count` 是要写入的数据项数目。

5. `fgetc`:读取一个字符```int fgetc(FILE* stream);```该函数从文件中读取一个字符,成功读取返回字符对应的整数值,读取失败或到达文件末尾返回`EOF`。

6. `fputc`:写入一个字符```int fputc(int c, FILE* stream);```该函数将一个字符写入文件,成功写入返回写入的字符,写入失败返回`EOF`。

c语言头文件 结构体定义

c语言头文件 结构体定义

c语言头文件结构体定义C语言头文件:结构体定义在C语言中,头文件(header file)是一个重要的概念。

它包含了函数、变量的声明以及各种预编译的指令。

C语言头文件可以分为系统头文件和自定义头文件。

而在头文件中,结构体定义也是一个常见的概念。

本文将以“C语言头文件:结构体定义”为主题,详细介绍这个概念,并且一步一步回答相关问题。

一、什么是C语言头文件?C语言头文件是包含在源代码中的文件,用于定义函数、变量的声明以及各种预编译的指令。

它们通常包含在源代码文件的开头,以方便程序员在使用时直接引用。

二、C语言头文件的分类C语言头文件可分为系统头文件和自定义头文件。

系统头文件是由编译器提供的,经常用于引用标准库函数、宏定义等。

自定义头文件是由程序员根据需要自行编写的,用于定义自己的函数、变量等。

三、什么是结构体?结构体(structure)是一种用户定义的数据类型,用于将不同类型的数据组合在一起形成一个逻辑上相关的整体。

它可以包含多个不同类型的成员变量,称为结构体成员。

四、如何定义结构体?在C语言中,可以使用关键字"struct"来定义结构体。

结构体的基本格式如下:struct 结构体名称{成员1的类型成员1的名称;成员2的类型成员2的名称;...};例如,如果我们要定义一个表示学生的结构体,可以这样写:struct Student {int id;char name[20];int age;};五、如何使用结构体?定义结构体之后,我们可以声明结构体的变量并对其进行操作。

首先需要在函数中声明结构体变量,然后使用“.”(成员运算符)来访问结构体的成员。

例如,我们可以这样声明一个学生结构体变量并对其赋值:struct Student stu;stu.id = 123;strcpy(, "John");stu.age = 18;六、结构体的指针和动态内存分配除了直接声明结构体变量外,我们还可以通过结构体指针来操作结构体。

c语言头文件的定义及语法

c语言头文件的定义及语法

c语⾔头⽂件的定义及语法
c头⽂件的定义
头⽂件是扩展名为.h的⽂件,包含了函数声明和宏定义(宏定义就是#define),引⽤到程序中。

头⽂件有两种类型:1.编译器⾃带的头⽂件(如stdio.h)
2.程序员编写的头⽂件
在程序中要使⽤头⽂件时,需要⽤c预处理指令#include来引⽤它,引⽤头⽂件其实就是将头⽂件的源代码复制到你写的源代码当中,但头⽂件的源代码就不⽤被展⽰出来。

引⽤头⽂件的语法
c头⽂件引⽤有两种语法:
#include<add>
这种语法⽤于引⽤系统头⽂件。

它在系统⽬录的标准列表中搜索名为 file 的⽂件。

#include“add”
这种形式⽤于引⽤⽤户头⽂件。

它在包含当前⽂件的⽬录中搜索名为 file 的⽂件。

有条件引⽤
例如,需要指定在不同的操作系统上使⽤的配置参数。

您可以通过⼀系列条件来实现这点,如下:
#if SYSTEM_1
# include "system_1.h"
#elif SYSTEM_2
# include "system_2.h"
#elif SYSTEM_3
...
#endif
但是当头⽂件过多时,预处理器使⽤宏定义来定义头⽂件的名称。

这就是有条件引⽤。

#define SYSTEM_H "system_1.h"
...
#include SYSTEM_H。

c语言中头文件的作用和使用方法

c语言中头文件的作用和使用方法

c语言中头文件的作用和使用方法C语言中头文件的作用和使用1. 什么是头文件?在C语言中,头文件是包含一些预定义的常量、宏定义、函数声明或数据结构定义的文件。

头文件的扩展名通常为.h,它可以被包含在C语言源代码中,以便在编译时进行预处理。

2. 头文件的作用头文件的主要作用有以下几点:•提供函数和变量的声明:头文件中可以包含函数的声明,使得其他源代码文件可以调用声明在头文件中的函数,而不需要重复写函数的原型声明。

•定义常量和宏:头文件中可以包含常量和宏的定义,以便在不同的源代码文件中共享使用。

•实现模块化编程:通过将相关函数和变量的声明和定义放在同一个头文件中,可以实现代码的模块化,提高代码的可读性和可维护性。

•提高编译速度:由于头文件中的内容可以在编译前进行预处理,预处理器会将头文件的内容直接复制到源代码文件中,避免了重复代码的输入,也可以加快编译速度。

3. 头文件的使用3.1 包含头文件在C语言源代码中,通过使用#include指令可以包含头文件。

一般情况下,包含头文件的方式有两种:•使用尖括号<>包含系统提供的头文件:例如#include <stdio.h>,这种方式会在系统目录中查找相应的头文件。

•使用双引号""包含自定义的头文件:例如#include"myheader.h",这种方式会首先在当前目录中查找相应的头文件,如果找不到再去系统目录中查找。

3.2 防止重复包含由于头文件的常见作用是提供声明和定义,为了防止多次包含同一个头文件引起的重定义错误,可以在头文件中使用预处理指令#ifndef、#define、#endif进行包含防护。

#ifndef MYHEADER_H#define MYHEADER_H// 头文件内容#endif这样,在多个源代码文件中包含同一个头文件时,只会包含一次,避免了重复定义的错误。

4. 常见的C标准库头文件C语言提供了一些常见的标准库头文件,包含了一些常用的函数和宏定义。

C语言头文件使用大全

C语言头文件使用大全
C99 增加
#include <complex.h> //复数处理 #include <fenv.h> //浮点环境 #include <inttypes.h> //整数格式转换 #include <stdbool.h> //布尔环境 #include <stdint.h> //整型环境 #include <tgmath.h> //通用类型数学宏
11
#include <cstring> #include <ctime> #include <deque> //STL 双端队列容器 #include <exception> //异常处理类 #include <fstream> #include <functional> //STL 定义运算函数(代替运算符) #include <limits> #include <list> //STL 线性列表容器 #include <map> //STL 映射容器 #include <iomanip> #include <ios> //基本输入/输出支持 #include <iosfwd> //输入/输出系统使用的前置声明 #include <iostream> #include <istream> //基本输入流 #include <ostream> //基本输出流 #include <queue> //STL 队列容器 #include <set> //STL 集合容器 #include <sstream> //基于字符串的流 #include <stack> //STL 堆栈容器 #include <stdexcept> //标准异常类 #include <streambuf> //底层输入/输出支持 #include <string> //字符串类 #include <utility> //STL 通用模板类

stdio.h的函数定义

stdio.h的函数定义

stdio.h的函数定义1.引言在C语言中,头文件`s td io.h`是标准输入输出的主要入口,提供了一系列函数用于输入和输出操作。

本文将详细介绍`s td io.h`头文件中常用的函数的定义和用法。

2.函数列表下面是`st di o.h`头文件中常用的函数列表:2.1输入函数-`in tg et ch ar(v oid)`:从标准输入获取一个字符。

-`in tg et c(FI LE*st r ea m)`:从给定输入流获取一个字符。

-`ch ar*g et s(ch ar*s tr)`:从标准输入获取一行字符串。

-`in ts ca nf(c on stc h ar*f or ma t,...)`:从标准输入根据格式字符串获取输入。

2.2输出函数-`in tp ut ch ar(i ntc)`:将字符输出到标准输出。

-`in tp ut c(in tc,FI L E*st re am)`:将字符输出到指定输出流。

-`in tp ut s(co ns tch a r*st r)`:将字符串输出到标准输出。

-`in tp ri nt f(co nst c ha r*fo rm at,...)`:根据格式字符串将数据输出到标准输出。

2.3文件操作函数-`FI LE*f op en(c ons t ch ar*f il en am e,c o ns tc ha r*mo de)`:打开指定文件,并返回文件指针。

-`in tf cl os e(FI LE*s tr ea m)`:关闭指定文件。

-`in tf se ek(F IL E*s t re am,l on gi nt off s et,i nt or ig in)`:设置文件指针的位置。

-`s iz e_tf re ad(v oid*pt r,si ze_t si ze,s iz e_tc ou nt,F ILE*st re am) `:从文件中读取数据。

C语言文件操作函数大全(超详细)

C语言文件操作函数大全(超详细)

C语⾔⽂件操作函数⼤全(超详细)相关函数 open,fclose表头⽂件 #include<stdio.h>定义函数 FILE * fopen(const char * path,const char * mode);函数说明参数path字符串包含欲打开的⽂件路径及⽂件名,参数mode字符串则代表着流形态。

r 打开只读⽂件,该⽂件必须存在。

r+ 打开可读写的⽂件,该⽂件必须存在。

w 打开只写⽂件,若⽂件存在则⽂件长度清为0,即该⽂件内容会消失。

若⽂件不存在则建⽴该⽂件。

w+ 打开可读写⽂件,若⽂件存在则⽂件长度清为零,即该⽂件内容会消失。

若⽂件不存在则建⽴该⽂件。

a 以附加的⽅式打开只写⽂件。

若⽂件不存在,则会建⽴该⽂件,如果⽂件存在,写⼊的数据会被加到⽂件尾,即⽂件原先的内容会被保留。

a+ 以附加⽅式打开可读写的⽂件。

若⽂件不存在,则会建⽴该⽂件,如果⽂件存在,写⼊的数据会被加到⽂件尾后,即⽂件原先的内容会被保留。

复制代码代码如下:r Open text file for reading. The stream is positioned at the beginning of the file.r+ Open for reading and writing. The stream is positioned at the beginning of the file.w Truncate file to zero length or create text file for writing. The stream is positioned at the beginning of the file.w+ Open for reading and writing. The file is created if it does not exist, otherwise it is truncated. The stream is posi‐tioned at the beginning of the file.a Open for appending (writing at end of file). The file is created if it does not exist. The stream is positioned at theend of the file.a+ Open for reading and appending (writing at end of file). The file is created if it does not exist. The initial file posi‐tion for reading is at the beginning of the file, but output is always appended to the end of the file.上述的形态字符串都可以再加⼀个b字符,如rb、w+b或ab+等组合,加⼊b 字符⽤来告诉函数库打开的⽂件为⼆进制⽂件,⽽⾮纯⽂字⽂件。

C语言头文件使用大全

C语言头文件使用大全

C语言头文件使用大全C语言是一种非常流行和强大的编程语言,它广泛用于开发各种应用程序和系统软件。

在C语言中,头文件(header file)起到了非常重要的作用,它们提供了一些函数和变量的声明,以及各种常量和类型的定义。

程序员可以使用这些头文件来访问库函数、宏定义和其他相关的信息,以便更方便地编写代码。

以下是一些常用的C语言头文件的简要介绍:1. stdio.h:这是C语言标准库中最常用的头文件之一,它定义了一些输入和输出的相关函数,如printf(和scanf(。

它还定义了一些常用的数据类型,如FILE(用于文件处理)和size_t(无符号整型)。

2. stdlib.h:这个头文件定义了一些常用的函数,如malloc(和free(,用于内存的动态分配和释放。

它还声明了一些其他重要的函数,如rand(和exit(。

3. string.h:这个头文件包含了一些字符串处理的函数,如strcpy(和strcat(,以及一些和内存空间操作相关的函数,如memset(和memcpy(。

4. math.h:这个头文件包含了一些常用的数学函数,如sin(和cos(。

它还定义了一些常用的数学常量,如PI。

5. ctype.h:这个头文件包含了一些字符处理的函数,如isalpha(和isdigit(。

这些函数可以用来判断一个字符的类型,如字母、数字等。

7. assert.h:这个头文件定义了一个宏函数assert(,用于在程序运行中对表达式进行断言检查。

如果表达式为假,assert(会输出一条错误消息并中止程序的运行。

8. stdarg.h:这个头文件定义了一些宏和类型,用于处理可变参数的函数。

它提供了一些函数,如vprintf(和vsprintf(,用于打印可变参数的输出。

9. errno.h:这个头文件定义了一些全局变量,用于表示各种系统错误。

程序可以使用这些变量来检查一些特定的系统调用是否成功。

10. limits.h:这个头文件定义了一些与整数类型相关的常量,如INT_MAX和UINT_MAX。

C语言头文件使用大全

C语言头文件使用大全

C语言头文件使用大全1. stdio.h:提供了输入输出相关的函数,如printf和scanf。

2. stdlib.h:提供了一些通用的函数,如malloc和atoi。

3. string.h:提供了一些字符串处理的函数,如strcpy和strcat。

4. math.h:提供了数学函数,如sin和sqrt。

5. ctype.h:提供了一些字符处理的函数,如isalpha和isdigit。

7. assert.h:提供了断言机制,用于程序的调试。

8. errno.h:定义了一些错误代码,如EIO和EINVAL。

9. limits.h:定义了一些整数类型的最大值和最小值,如INT_MAX和INT_MIN。

10. float.h:定义了浮点类型的一些精度和范围,如FLT_EPSILON和DBL_MAX。

11. stdbool.h:定义了布尔类型和真值常量,如bool和true。

12. wchar.h:提供了处理宽字符的函数,如wprintf和fgetws。

13. signal.h:提供了处理信号的函数,如signal和kill。

14. dirent.h:提供了操作目录和文件的函数,如opendir和readdir。

15. fcntl.h:提供了文件控制相关的函数,如open和close。

16. sys/types.h:定义了一些系统数据类型,如size_t和pid_t。

17. sys/stat.h:定义了文件状态的一些宏和函数,如S_IRUSR和stat。

18. sys/socket.h:提供了网络编程相关的函数和结构体,如socket和bind。

19. netdb.h:提供了网络数据相关的函数和结构体,如gethostbyname和hostent。

20. pthread.h:提供了线程相关的函数和结构体,如pthread_create和pthread_mutex_t。

这些头文件仅仅是C语言头文件中的一部分,它们提供了丰富的功能来帮助我们进行程序开发。

C语言头文件使用大全

C语言头文件使用大全
5
字符输入(控制台) getchar 字符串输入(控制台) gets 字符输出(控制台) putc 字符输出(控制台) putchar 字符串输出(控制台) puts 字符输出到流的头部 ungetc 直接输入输出 直接流读操作 fread 直接流写操作 fwrite 文件定位函数 得到文件位置 fgetpos 文件位置移动 fseek 文件位置设置 fsetpos 得到文件位置 ftell 文件位置复零位 remind 错误处理函数 错误清除 clearerr 文件结尾判断 feof 文件错误检测 ferror 得到错误提示字符串 perror
#include <assert.h> //设定插入点 #include <ctype.h> //字符处理 #include <errno.h> //定义错误码 #include <float.h> //浮点数处理 #include <fstream.h> //文件输入/输出 #include <iomanip.h> //参数化输入/输出 #include <iostream.h> //数据流输入/输出 #include <limits.h> //定义各种数据类型最值常量
日期和时间函数 本类别给出时间和日期处理函数
头文件 time.h 函数列表 函数类别 函数用途 详细说明 时间操作函数 得到处理器时间 clock 得到时间差 difftime 设置时间 mktime 得到时间 time 时间转换函数 得到以 ASCII 码表示的时间 asctime
9
得到字符串表示的时间 ctime 得到指定格式的时间 strftime
头文件 stdarg.h 函数列表 函数类别 函数用途 详细说明 可变参数访问宏 可变参数开始宏 va_start 可变参数结束宏 va_end 可变参数访问宏 访问下一个可变参数宏 va_arg

C语言常见头文件汇总

C语言常见头文件汇总

C语言常见头文件汇总C语言是一种广泛应用的编程语言,在学习和使用C语言时,我们通常会使用一些常见的头文件来调用各种函数和实现一些功能。

以下是一些常见的C语言头文件及其功能的汇总:1. stdio.h:提供了一些输入输出相关的函数,如printf、scanf等。

它是C语言中最常见的、最基础的头文件之一2. math.h:提供了数学运算相关的函数,如sin、cos、sqrt等。

3. string.h:提供了一些字符串操作相关的函数,如strcpy、strcat、strlen等。

4. stdlib.h:提供了一些通用的函数,如malloc、free、rand等。

5. ctype.h:提供了一些用于字符处理的函数,如isalnum、isalpha、tolower等。

6. stdbool.h:定义了bool类型及其取值true和false。

8. assert.h:提供了一些断言相关的函数,如assert。

9. limits.h:定义了一些与整数类型相关的宏,如INT_MAX、INT_MIN等。

10. float.h:定义了一些与浮点数类型相关的宏,如FLT_MAX、FLT_MIN等。

11. errno.h:定义了一些与错误码相关的宏和函数,如errno、perror等。

12. fcntl.h:定义了一些与文件控制相关的宏和函数,如open、close等。

13. signal.h:定义了一些与信号处理相关的宏和函数,如signal、kill等。

14. setjmp.h:定义了一些与非局部跳转相关的宏和函数,如setjmp、longjmp等。

15. locale.h:定义了一些与本地化相关的宏和函数,如setlocale、localeconv等。

16. stdarg.h:定义了一些用于可变参数函数的宏和函数,如va_list、va_start、va_arg等。

17. ctype.h:定义了一些字符分类函数,如isalpha、isdigit等。

c语言文件的操作方法

c语言文件的操作方法

c语言文件的操作方法宝子们,今天咱们来唠唠C语言里文件操作这回事儿。

在C语言里呀,要操作文件,得先包含一个超重要的头文件`<stdio.h>`。

这个就像是打开文件操作大门的钥匙呢。

打开文件的时候呢,咱们会用到`fopen`函数。

这函数就像是一个小管家,它能帮咱们把文件的门给打开。

比如说`FILE *fp = fopen("文件名", "打开模式");`这里的文件名就是你要操作的文件的名字啦,可不能写错哦。

打开模式有好多选择呢,像“r”就是只读模式,就好像你只能看这个文件,不能修改它;“w”就是只写模式,如果文件不存在,它还会很贴心地给你创建一个新文件呢,但是原来有内容的话就会被清空;“a”是追加模式,会在文件末尾添加内容,不会把原来的内容弄丢。

当你操作完文件,可不能拍拍屁股就走人呀,得把文件关上。

这时候就轮到`fclose`函数出场啦。

就像你离开房间要关门一样,`fclose(fp);`这样就把文件关闭得妥妥当当的。

那怎么从文件里读取数据呢?如果是读取字符的话,`fgetc`函数就很厉害啦。

它能一个一个字符地把文件里的字符抓出来。

就像从盒子里一个一个拿糖果一样。

不过要小心哦,如果读到文件末尾,它会返回一个特殊的值`EOF`,这就表示已经读完啦。

要是想读取一整行呢,`fgets`函数就闪亮登场啦。

它可以把一行字符都读出来存到一个字符数组里。

那往文件里写东西呢?`fputc`函数可以把一个字符写到文件里。

就像你把一个小珠子放进盒子里一样。

如果要写一整行或者一些格式化的数据,`fprintf`函数就派上用场啦。

它和咱们平常的`printf`函数有点像,只不过是把东西写到文件里而不是屏幕上啦。

宝子们,C语言的文件操作虽然一开始可能有点小复杂,但是只要多试试,就像和新朋友相处一样,慢慢地就会很熟悉啦。

而且掌握了文件操作,就能让你的C语言程序做更多有趣的事情呢,像是保存游戏进度呀,记录一些数据之类的。

C语言常用的库文件(头文件、函数库)

C语言常用的库文件(头文件、函数库)

C语⾔常⽤的库⽂件(头⽂件、函数库)C语⾔常⽤的库⽂件(头⽂件、函数库) C系统提供了丰富的系统⽂件,称为库⽂件。

C的库⽂件分为两类,⼀类是扩展名为".h"的⽂件,称为头⽂件,在前⾯的包含命令中我们已多次使⽤过。

在".h"⽂件中包含了常量定义、类型定义、宏定义、函数原型以及各种编译选择设置等信息。

另⼀类是函数库,包括了各种函数的⽬标代码,供⽤户在程序中调⽤。

通常在程序中调⽤⼀个库函数时,要在调⽤之前包含该函数原型所在的".h" ⽂件。

下⾯给出Turbo C的全部".h"⽂件。

Turbo C头⽂件:头⽂件说明alloc.h说明内存管理函数(分配、释放等)。

assert.h定义 assert调试宏。

bios.h说明调⽤IBM—PC ROM BIOS⼦程序的各个函数。

conio.h说明调⽤DOS控制台I/O⼦程序的各个函数。

ctype.h包含有关字符分类及转换的名类信息(如 isalpha和toascii等)。

dir.h包含有关⽬录和路径的结构、宏定义和函数。

dos.h定义和说明MSDOS和8086调⽤的⼀些常量和函数。

error.h定义错误代码的助记符。

fcntl.h定义在与open库⼦程序连接时的符号常量。

float.h包含有关浮点运算的⼀些参数和函数。

graphics.h说明有关图形功能的各个函数,图形错误代码的常量定义,正对不同驱动程序的各种颜⾊值,及函数⽤到的⼀些特殊结构。

io.h包含低级I/O⼦程序的结构和说明。

limit.h包含各环境参数、编译时间限制、数的范围等信息。

math.h说明数学运算函数,还定了 HUGE VAL 宏,说明了matherr和matherr⼦程序⽤到的特殊结构。

mem.h说明⼀些内存操作函数(其中⼤多数也在STRING.H中说明)。

process.h说明进程管理的各个函数,spawn…和EXEC …函数的结构说明。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

头文件ctype.h
函数列表<>
函数类别函数用途详细说明
字符测试是否字母和数字isalnum
是否字母isalpha
是否控制字符iscntrl
是否数字isdigit
是否可显示字符(除空格外)isgraph
是否可显示字符(包括空格)isprint
是否既不是空格,又不是字母和数字的可显示字符ispunct
是否空格isspace
是否大写字母isupper
是否16进制数字(0-9,A-F)字符isxdigit
字符大小写转换函数转换为大写字母toupper
转换为小写字母tolower
地区化
本类别的函数用于处理不同国家的语言差异。

头文件local.h
函数列表
函数类别函数用途详细说明
地区控制地区设置setlocale
数字格式约定查询国家的货币、日期、时间等的格式转换localeconv
数学函数
本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51)
头文件math.h
函数列表
函数类别函数用途详细说明
错误条件处理定义域错误(函数的输入参数值不在规定的范围内)
值域错误(函数的返回值不在规定的范围内)
三角函数反余弦acos
反正弦asin
反正切atan
反正切2 atan2
余弦cos
正弦sin
正切tan
双曲函数双曲余弦cosh
双曲正弦sinh
双曲正切tanh
指数和对数指数函数exp
指数分解函数frexp
乘积指数函数fdexp
自然对数log
以10为底的对数log10
浮点数分解函数modf
幂函数幂函数pow
平方根函数sqrt
整数截断,绝对值和求余数函数求下限接近整数ceil
绝对值fabs
求上限接近整数floor
求余数fmod
本分类函数用于实现在不同底函数之间直接跳转代码。

头文件setjmp.h io.h
函数列表
函数类别函数用途详细说明
保存调用环境setjmp
恢复调用环境longjmp
信号处理
该分类函数用于处理那些在程序执行过程中发生例外的情况。

头文件signal.h
函数列表
函数类别函数用途详细说明
指定信号处理函数signal
发送信号raise
可变参数处理
本类函数用于实现诸如printf,scanf等参数数量可变底函数。

头文件stdarg.h
函数列表
函数类别函数用途详细说明
可变参数访问宏可变参数开始宏va_start
可变参数结束宏va_end
可变参数访问宏访问下一个可变参数宏va_arg
输入输出函数
该分类用于处理包括文件、控制台等各种输入输出设备,各种函数以“流”的方式实现头文件stdio.h
函数列表
函数类别函数用途详细说明
文件操作
删除文件remove
修改文件名称rename
生成临时文件名称tmpfile
得到临时文件路径tmpnam
文件访问关闭文件fclose
刷新缓冲区fflush
打开文件fopen
将已存在的流指针和新文件连接freopen
设置磁盘缓冲区setbuf
设置磁盘缓冲区setvbuf
格式化输入与输出函数格式输出fprintf
格式输入fscanf
格式输出(控制台)printf
格式输入(控制台)scanf
格式输出到缓冲区sprintf
从缓冲区中按格式输入sscanf
格式化输出vfprintf
格式化输出vprintf
格式化输出vsprintf
字符输入输出函数输入一个字符fgetc
字符串输入fgets
字符输出fputc
字符串输出fputs
字符输入(控制台)getc
字符输入(控制台)getchar
字符串输入(控制台)gets
字符输出(控制台) putc
字符输出(控制台) putchar
字符串输出(控制台) puts
字符输出到流的头部ungetc
直接输入输出直接流读操作fread
直接流写操作fwrite
文件定位函数得到文件位置fgetpos
文件位置移动fseek
文件位置设置fsetpos
得到文件位置ftell
文件位置复零位remind
错误处理函数错误清除clearerr
文件结尾判断feof
文件错误检测ferror
得到错误提示字符串perror
实用工具函数
本分类给出了一些函数无法按以上分类,但又是编程所必须要的。

头文件stdlib.h
函数列表
函数类别函数用途详细说明
字符串转换函数字符串转换为整数atoi
字符串转换为长整数atol
字符串转换为浮点数strtod
字符串转换为长整数strtol
字符串转换为无符号长整型strtoul
伪随机序列产生函数产生随机数rand
设置随机函数的起动数值srand
存储管理函数分配存储器calloc
释放存储器free
存储器分配malloc
重新分配存储器realloc
环境通信中止程序abort
退出程序执行,并清除环境变量atexit
退出程序执行exit
读取环境参数getenv
程序挂起,临时执行一个其他程序system
搜索和排序工具二分查找(数据必须已排序)bsearch
快速排序qsort
整数运算函数求绝对值abs
div
得到除法运算底商和余数
求长整形底绝对值labs
求长整形除法的商和余数ldiv
多字节字符函数得到多字节字符的字节数mblen
得到多字节字符的字节数mbtowc
多字节字符转换wctomb
多字节字符的字符串操作将多字节串转换为整数数组mbstowcs 将多字节串转换为字符数组mcstowbs
字符串处理
本分类的函数用于对字符串进行合并、比较等操作
头文件string.h
函数列表
函数类别函数用途详细说明
字符串拷贝块拷贝(目的和源存储区不可重叠)memcpy 块拷贝(目的和源存储区可重叠)memmove
串拷贝strcpy
按长度的串拷贝strncpy
字符串连接函数串连接strcat
按长度连接字符串strncat
串比较函数块比较memcmp
字符串比较strcmp
字符串比较(用于非英文字符)strcoll
按长度对字符串比较strncmp
字符串转换strxfrm
字符与字符串查找字符查找memchr
字符查找strchr
字符串查找strcspn
字符串查找strpbrk
字符串查找strspn
字符串查找strstr
字符串分解strtok
杂类函数字符串设置memset
错误字符串映射strerror
求字符串长度strlen
日期和时间函数
本类别给出时间和日期处理函数
头文件time.h
函数列表
函数类别函数用途详细说明
时间操作函数得到处理器时间clock
得到时间差difftime
设置时间mktime
得到时间time
时间转换函数得到以ASCII码表示的时间asctime
得到字符串表示的时间ctime
得到指定格式的时间strftime
函数库未来的发展方向
本部分用于说明各类别函数库在将来如何发展。

序号库类别头文件详细说明
1 错误处理errno.h
2 字符处理ctype.h
3 地区化local.h
4 数学函数math.h
5 信号处理signal.h
6 输入输出stdio.h
7 实用工具程序stdlib.h
8 字符串处理string.h。

相关文档
最新文档