C++头文件说明

合集下载

c语言头文件的写法

c语言头文件的写法

C语言的头文件常用于声明函数、变量、宏和结构体等的定义,以便在多个源文件中共享和重用这些声明。

以下是C语言头文件的一般写法:
c
#ifndef HEADER_NAME_H
#define HEADER_NAME_H
// 在这里写下头文件的内容
#endif /* HEADER_NAME_H */
头文件的命名通常使用全大写字母,可以根据需要选择有意义的名称。

头文件中应该包含以下内容:
防止多重包含:使用条件编译指令#ifndef、#define 和#endif,以避免头文件被重复包含。

函数声明:声明函数的原型,例如int add(int a, int b);。

变量声明:声明变量的外部链接性,例如extern int globalVariable;。

宏定义:定义常量、宏函数和条件编译宏等,例如#define PI 3.14159。

结构体定义:定义结构体类型,例如struct Person { char name[20]; int age; };。

请注意以下几点:
头文件中通常只包含声明,而不包含具体的实现代码。

实现代码应该在对应的源文件中编写。

头文件应该包含所需的其他头文件,以确保所有依赖关系得到满足。

在编写头文件时,应使用预处理指令#ifdef 和#ifndef 来避免重复定义和冲突。

头文件应该尽量精简和模块化,只包含与该头文件相关的声明。

在头文件中避免定义全局变量,因为头文件可能会被多个源文件包含,这样会导致变量的重复定义。

正确编写和组织头文件可以提高代码的可读性、可维护性和重用性,推荐遵循良好的编码规范和项目约定。

c 标准输入输出头文件

c  标准输入输出头文件

c 标准输入输出头文件C标准输入输出头文件。

C语言中的输入输出是程序中非常重要的部分,它们允许程序与用户进行交互,从文件中读取数据,以及将数据写入文件。

在C语言中,stdio.h头文件提供了一组函数和宏,用于执行输入和输出操作。

本文将介绍C标准输入输出头文件stdio.h的相关内容。

stdio.h头文件包含了许多函数和宏,用于执行标准输入输出操作。

其中最常用的函数包括printf()、scanf()、fprintf()、fscanf()等,这些函数允许程序向屏幕输出数据,从键盘接收输入,以及从文件中读取和写入数据。

此外,stdio.h还定义了一些重要的宏,如EOF(文件结束标志)和NULL(空指针)等。

在C语言中,stdio.h头文件还定义了三个标准文件流,stdin、stdout和stderr。

这些文件流分别代表标准输入、标准输出和标准错误输出。

通过这些文件流,程序可以方便地进行输入输出操作,而不必关心具体的输入输出设备。

除了基本的输入输出函数和文件流之外,stdio.h头文件还定义了一些其他重要的函数和宏,如fopen()、fclose()、feof()、ferror()等。

这些函数和宏用于打开和关闭文件,以及检测文件的结束和错误状态。

通过它们,程序可以轻松地进行文件操作,读取和写入数据。

在使用stdio.h头文件中的函数和宏时,需要注意一些细节。

例如,在使用printf()函数输出格式化字符串时,需要使用格式控制符指定输出的数据类型和格式。

而在使用scanf()函数接收输入时,需要使用格式控制符指定输入的数据类型和格式。

此外,在进行文件操作时,需要注意文件的打开和关闭顺序,以及错误和结束状态的处理。

总之,C标准输入输出头文件stdio.h提供了丰富的函数和宏,用于执行输入输出操作。

通过它,程序可以方便地进行屏幕输出、键盘输入,以及文件读写等操作。

因此,熟练掌握stdio.h头文件中的函数和宏,对于C语言程序的开发和调试非常重要。

C、C++头文件、库函数说明

C、C++头文件、库函数说明

C/C++头文件说明1.概述C++标准库的所有头文件都没有扩展名。

C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。

<cname>形式的标准头文件【<complex>例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。

在<cname>形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明。

在C++中还可以使用name.h形式的标准C库头文件名。

C++标准库的内容分为10类:C1.语言支持C2.输入/输出C3.诊断C4.一般工具C5.字符串C6.容器C7.迭代器支持C8.算法C9.数值操作C10.本地化C1 标准库中与语言支持功能相关的头文件头文件描述<cstddef> 定义宏NULL和offsetof,以及其他标准类型size_t和ptrdiff_t。

与对应的标准C头文件的区别是,NULL是C++空指针常量的补充定义,宏offsetof接受结构或者联合类型参数,只要他们没有成员指针类型的非静态成员即可。

<limits> 提供与基本数据类型相关的定义。

例如,对于每个数值数据类型,它定义了可以表示出来的最大值和最小值以及二进制数字的位数。

<climits> 提供与基本整数数据类型相关的C样式定义。

这些信息的C++样式定义在<limits>中<cfloat> 提供与基本浮点型数据类型相关的C样式定义。

这些信息的C++样式定义在<limits>中<cstdlib> 提供支持程序启动和终止的宏和函数。

这个头文件还声明了许多其他杂项函数,例如搜索和排序函数,从字符串转换为数值等函数。

它与对应的标准C头文件stdlib.h 不同,定义了abort(void)。

abort()函数还有额外的功能,它不为静态或自动对象调用析构函数,也不调用传给atexit()函数的函数。

c 标准头文件

c   标准头文件

c 标准头文件C标准头文件。

C语言是一种通用的高级程序设计语言,它广泛应用于系统软件、应用软件、嵌入式软件、网络软件等领域。

在C语言的编程过程中,标准头文件扮演着非常重要的角色,它们包含了一些常用的函数、宏定义和数据结构,为程序员提供了丰富的工具和资源。

本文将对C标准头文件进行介绍,希望能够对初学者有所帮助。

stdio.h。

stdio.h是C语言标准库中最常用的头文件之一,它包含了C标准输入输出库的函数声明和宏定义。

在stdio.h中定义了一系列用于输入输出的函数,比如printf、scanf、fopen、fclose等,这些函数可以帮助程序员实现对文件的读写操作,以及控制台的输入输出。

除此之外,stdio.h还定义了一些常用的宏,比如NULL、EOF等,它们为程序员提供了方便快捷的编程工具。

stdlib.h。

stdlib.h是C语言标准库中定义了一些通用工具函数的头文件,比如内存分配、随机数生成、字符串转换等。

在实际编程中,程序员经常会用到stdlib.h中的函数,比如malloc、free、rand、atoi等。

这些函数可以帮助程序员实现动态内存分配、随机数生成、字符串转换等功能,为程序的实现提供了方便。

math.h。

math.h是C语言标准库中定义了一些数学函数和常量的头文件,比如三角函数、对数函数、指数函数等。

在实际编程中,程序员经常会用到math.h中的函数,比如sin、cos、log、exp等。

这些函数可以帮助程序员实现各种数学运算,为程序的实现提供了强大的数学支持。

time.h。

time.h是C语言标准库中定义了一些时间函数和数据类型的头文件,比如获取当前时间、时间格式转换、时间延迟等。

在实际编程中,程序员经常会用到time.h 中的函数,比如time、localtime、sleep等。

这些函数可以帮助程序员实现对时间的操作,为程序的实现提供了时间支持。

总结。

C标准头文件是C语言编程中不可或缺的一部分,它们为程序员提供了丰富的工具和资源,帮助程序员实现各种功能和操作。

c语言头文件的工作原理

c语言头文件的工作原理

c语言头文件的工作原理C语言是一种广泛使用的编程语言,它的设计初衷是为了用于Unix操作系统。

C语言具有高效、灵活、可移植等特点,在操作系统、嵌入式系统、游戏开发等领域得到了广泛的应用。

在C语言中,头文件是一个非常重要的概念,本文将介绍C语言头文件的工作原理。

一、什么是头文件头文件是C语言中的一个概念,它通常包含一些函数、变量、结构体等的声明和定义。

在C语言中,头文件的扩展名通常是.h,例如stdio.h、stdlib.h等。

头文件通常包含在源代码中,它们可以被其他源文件包含,以便在编译时使用其中的函数、变量、结构体等。

二、头文件的作用头文件的作用非常重要,它可以提供一些声明和定义,以便在编译时使用。

例如,在C语言中,如果要使用printf函数,就需要包含stdio.h头文件,因为printf函数的声明和定义都在这个头文件中。

头文件还可以用于定义一些宏、常量、结构体等。

例如,stdbool.h 头文件中就定义了bool类型,它可以用于表示真假值。

头文件还可以用于扩展C语言的功能,例如,math.h头文件中就包含了许多数学函数,如sin、cos、tan等。

这些函数可以用于计算三角函数、对数函数等。

三、头文件的分类头文件可以分为系统头文件和用户头文件两种。

系统头文件是由操作系统提供的,用于提供系统级别的功能,例如,stdio.h、stdlib.h、math.h等。

用户头文件是由用户自己创建的,用于提供特定的功能,例如,mylib.h、myutil.h等。

系统头文件通常包含在编译器的安装目录中,例如,Windows平台下的Visual Studio编译器,其头文件通常位于C:Program Files (x86)Microsoft VisualStudio2017CommunityVCToolsMSVC14.16.27023include目录下。

用户头文件通常包含在项目的源代码中,它们可以被其他源文件包含,以便在编译时使用其中的函数、变量、结构体等。

C头文件说明

C头文件说明

stdlib.hstdlib 头文件里包含了C语言的一些函数该文件包含了的C语言标准库函数的定义stdlib.h里面定义了五种类型、一些宏和通用工具函数。

类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t;宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等;常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。

具体的内容你自己可以打开编译器的include目录里面的stdlib.h头文件看看。

stdio.hstdio.h就是指“standard input&output"意思就是说标准输入输出头文件!所以了,用到标准输入输出函数时,就要调用这个头文件!conio.hconio.h不是C标准库中的头文件。

conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。

包含的函数(部分)cgets(char *);cprintf(const char *, ...);cputs(const char *);cscanf(const char *, ...);inp(unsigned short);inpw(unsigned short);getch(void);getche(void);kbhit(void);outp(unsigned short, int);outpw(unsigned short, unsigned short);putch(int);ungetch(int);void _Cdecl clreol (void);void _Cdecl clrscr (void);void _Cdecl delline (void);int _Cdecl gettext (int left, int top, int right, int bottom, void *destin);void _Cdecl gotoxy (int x, int y);。

c语言中头文件和源文件解析 编译原理

c语言中头文件和源文件解析 编译原理

c语言中头文件和源文件解析编译原理头文件和源文件是C语言中常见的两种文件类型,它们在编译原理中扮演着重要的角色。

本文将对头文件和源文件进行解析,从编译原理的角度探讨它们的作用和使用方法。

一、头文件的概念和作用头文件是一种特殊的文件,它通常以.h作为文件扩展名,用于存放函数声明、宏定义、结构体声明等内容。

头文件的作用主要有以下几个方面:1.1 提供接口声明头文件中包含了函数的声明,通过包含头文件可以让源文件知道这些函数的存在,并且能够正确地调用这些函数。

这种方式可以提高代码的可读性和可维护性,使得不同的源文件可以共享同一个函数的实现。

1.2 定义常量和宏头文件中可以定义常量和宏,这些常量和宏可以被多个源文件引用和使用。

通过在头文件中定义常量和宏,可以提高代码的可重用性和可维护性,避免了在多个源文件中重复定义常量和宏的问题。

1.3 声明结构体和类型头文件中可以声明结构体和类型,这些结构体和类型可以被多个源文件引用和使用。

通过在头文件中声明结构体和类型,可以提高代码的可读性和可维护性,避免了在多个源文件中重复声明结构体和类型的问题。

二、源文件的概念和作用源文件是C语言程序的主要组成部分,它通常以.c作为文件扩展名,包含了具体的函数实现和全局变量定义等内容。

源文件的作用主要有以下几个方面:2.1 实现函数的定义源文件中包含了函数的具体实现,通过编译和链接的过程,可以将函数的定义和函数的调用联系起来。

源文件中的函数实现可以直接访问和修改全局变量,同时也可以调用其他源文件中的函数。

2.2 定义全局变量源文件中可以定义全局变量,这些全局变量可以被多个函数访问和修改。

全局变量在程序的整个执行过程中都是存在的,它们的作用域不限于某个函数,可以在不同的函数之间共享数据。

2.3 包含头文件源文件可以通过包含头文件来使用头文件中定义的函数、常量、宏、结构体和类型等。

通过包含头文件,源文件可以获取到头文件中的声明信息,从而可以正确地使用其中定义的内容。

头文件与源文件在c语言中应用简单示例

头文件与源文件在c语言中应用简单示例

一、概述C语言作为一种被广泛使用的程序设计语言,其核心概念之一就是头文件(Header File)和源文件(Source File)。

头文件和源文件在C 语言中的应用非常普遍,它们的合理使用对于提高代码的可读性、可维护性和可重用性,起着非常重要的作用。

本文将从头文件和源文件的概念入手,通过简单的示例帮助读者更加深入的理解并应用头文件与源文件在C语言中的重要性和用法。

二、头文件与源文件概念与作用1. 头文件(Header File)是一种特殊的文本文件,它以“.h”为扩展名,用来包含要被其他文件引用的声明和定义,通常包含函数原型、宏定义、数据结构等内容。

当程序需要使用某些外部的函数或数据结构时,可以通过#include指令引用相应的头文件。

2. 源文件(Source File)是包含C语言源代码的文件,通常以“.c”为扩展名。

源文件包含了程序的实际代码,其中定义了各种函数、变量、数据结构等。

源文件中也可以通过#include指令引用头文件,以便在源文件中使用头文件中声明的函数和数据结构。

三、头文件的编写与应用1. 定义头文件的格式头文件通常包括以下内容:- 头文件保护宏(Header Guard):用来防止头文件被多次引用的问题,通常采用#ifndef、#define和#endif三个宏来实现;- 函数原型:声明函数的名称、返回类型和参数列表,以便在源文件中使用;- 宏定义:定义一些常量和宏,方便程序中的代码使用。

2. 编写简单的头文件示例以一个简单的数学计算为例,定义一个头文件math.h包含两个函数的声明:```c#ifndef MATH_H#define MATH_Hint add(int a, int b);int subtract(int a, int b);#endif```3. 应用头文件在源文件中使用这个头文件:```c#include "math.h"int m本人n() {int result1 = add(10, 5);int result2 = subtract(10, 5);// other code...return 0;}```四、源文件的编写与应用1. 定义源文件的格式源文件中包括了实际的函数定义和全局变量定义,以及程序的入口函数m本人n()定义。

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

C/C++头文件一览C、传统C++#include <assert.h>//设定插入点使用断言assert()宏是用于保证满足某个特定条件,用法是:assert(表达式);如果表达式的值为假,整个程序将退出,并输出一条错误信息。

如果表达式的值为真则继续执行后面的语句。

使用这个宏前需要包含头文件assert.h例如#include <stdio.h>#include <assert.h>void main(){float a,b;scan("%f %f",&a,&b);assert(b!=0);printf("%f\n",a/b);}以上的程序要计算A/B的值,因此要求b!=0,所以在程序中使用了assert()用于确保b!=0,如果b==0,则程序会退出。

#include <ctype.h>//字符处理isalnum 判断一个字符是否是字符类的数字或者字母isalpha 判断一个字符是否是字母isblank 判断一个字符是空白字符(空格和水平制表符Tab)iscntrl 判断一个控制符(ascii码0-31之间的字符)isdigit 判断一个字符是否是字符类的数字isgraph 判断一个字符是否是可打印字符(ascii码33-126之间的字符)islower 判断一个字符是否是小写字母isprint 判断一个字符是否是包含空格在内的可打印字符(ascii码32-126之间的字符)ispunct 判断一个字符是否是除空格,字母,数字外的标点符号isspace 判断一个字符是空白字符(空格,换行符(\n),走纸符(\f),回车符(\r),垂直制表符(\v),水平制表符(\t))isupper 判断一个字符是否是大写字母isxdigit 判断一个字符是否是一个十六进制的数字tolower 将大些字符转换为小写toupper 将小写字符转换为大写isalnum()函数的作用是判断一个字符是否是字符类的数字或者字母:#include <stdio.h>#include <ctype.h>int main(void){if(isalnum('a'))printf("It's True"); // 显示It's Trueif(isalnum(4))printf("It's True"); // 显示''if(isalnum('4'))printf("It's True"); // 显示It's Truereturn 0;}isalpha()函数的作用是判断一个字符是否是字母:#include <stdio.h>#include <ctype.h>int main(void){if(isalpha('a'))printf("It's True"); // 显示It's Trueif(isalpha(4))printf("It's True"); // 显示''if(isalpha('4'))printf("It's True"); // 显示''return 0;}isblank()函数的作用是判断一个字符是空白字符(空格和水平制表符Tab),isspace()函数和isblank()函数类似,但是还包含空格,换行符(\n),走纸符(\f),回车符(\r),垂直制表符(\v),水平制表符(\t):#include <stdio.h>#include <ctype.h>int main(void){if(isblank(' ')) // 空格printf("It's True"); // 显示It's Trueif(isblank('\t')) // Tabprintf("It's True"); // 显示It's Trueif(isblank('\n')) // 换行printf("It's True"); // 显示''if(isblank('\r')) // 回车printf("It's True"); // 显示''if(isspace(' ')) // 空格printf("It's True"); // 显示It's Trueif(isspace('\t')) // Tabprintf("It's True"); // 显示It's Trueif(isspace('\n')) // 换行printf("It's True"); // 显示It's Trueif(isspace('\r')) // 回车printf("It's True"); // 显示It's Truereturn 0;}iscntrl()函数的作用是判断一个控制符(ascii码0-31之间的字符):#include <stdio.h>#include <ctype.h>int main(void){if(isblank(' ')) // 空格printf("It's True"); // 显示''if(isblank('\t')) // Tabprintf("It's True"); // 显示It's Trueif(isblank('\n')) // 换行printf("It's True"); // 显示It's Trueif(isblank('\r')) // 回车printf("It's True"); // 显示It's Truereturn 0;}isdigit()函数的作用是判断一个字符是否是字符类的数字:#include <stdio.h>#include <ctype.h>int main(void){if(isdigit('4'))printf("It's True"); // 显示It's Trueif(isdigit(4))printf("It's True"); // 显示''if(isdigit('a'))printf("It's True"); // 显示''return 0;}isgraph()函数的作用是判断一个字符是否是可打印字符(ascii码33-126之间的字符),isprint()函数功能和isgraph()函数类似,区别是isprint()函数包含空格在内(ascii码32-126之间的字符):#include <stdio.h>#include <ctype.h>int main(void){if(isgraph('a'))printf("It's True"); // 显示It's Trueif(isgraph('.'))printf("It's True"); // 显示It's Trueif(isgraph(' ')) // 空格printf("It's True"); // 显示''if(isprint('a'))printf("It's True"); // 显示It's Trueif(isprint('.'))printf("It's True"); // 显示It's Trueif(isprint(' ')) // 空格printf("It's True"); // 显示It's Truereturn 0;}islower()函数的作用是判断一个字符是否是小写字母,isupper()函数的作用是判断一个字符是否是大写字母:#include <stdio.h>#include <ctype.h>int main(void){if(islower('a'))printf("It's True"); // 显示It's Trueif(islower('A'))printf("It's True"); // 显示''if(isupper('a'))printf("It's True"); // 显示''if(isupper('A'))printf("It's True"); // 显示It's Truereturn 0;}ispunct()函数的作用是判断一个字符是否是除空格,字母,数字外的标点符号:#include <stdio.h>#include <ctype.h>int main(void){if(ispunct('a'))printf("It's True"); // 显示''if(ispunct('.'))printf("It's True"); // 显示It's Trueif(ispunct('<'))printf("It's True"); // 显示It's Truereturn 0;}isxdigit()函数的作用是判断一个字符是否是一个十六进制的数字:#include <stdio.h>#include <ctype.h>int main(void){if(isxdigit('4'))printf("It's True"); // 显示It's Trueif(isxdigit('xE'))printf("It's True"); // 显示It's Trueif(isxdigit('xF'))printf("It's True"); // 显示''return 0;}tolower()函数的作用是将大些字符转换为小写,toupper()函数的作用是将小写字符转换为大写:#include <stdio.h>#include <ctype.h>int main(void){char n,m,i,j;n = tolower('A');m = tolower('a');i = toupper('a');j = toupper('.');printf("%c %c %c %c", n, m, i, j); // 显示a a A .return 0;#include <errno.h>//定义错误码#include <float.h>//浮点数处理#include <fstream.h>//文件输入/输出#include <iomanip.h>//参数化输入/输出#include <iostream.h>//数据流输入/输出#include <limits.h>//定义各种数据类型最值常量#include <locale.h>//定义本地化函数#include <math.h>//定义数学函数#include <stdio.h>//定义输入/输出函数<stdio.h>下面的类型,宏,函数都是分类的其他:size_t sizeof返回的值NULL 空指针文件:FILE 文件的类型fpos_t 文件中指针的位置EOF 文件末尾<0FILENAME_MAX 文件名最大值>0FOPEN_MAX 同时打开文件的最大值>8SEEK_SET 文件头SEEK_CUR 文件当前位置SEEK_END 文件末尾打开文件FILE *fopen(const char *filename,const char *mode);更改当前流相关的文件FILE *freopen(const char *filename,const char *mode,FILE *stream); 关闭文件int fclose(FILE *stream);清除流中的错误标志或文件末尾标志void clearerr(FILE *stream);测试流上的文件末尾标志int feof(FILE *stream);测试流上的错误标志int ferror(FILE *stream);将一个字符放回到流中int ungetc(int c, FILE *stream);从流中读一个字符int fgetc(FILE *stream);int getc(FILE *stream);/* 与fgetc相同但是可以用宏实现该函数*/写一个字符到一个流int fputc(int c, FILE *stream);int putc(int c, FILE *stream);从流中获取一个字符串char *fgets(char *s, int n, FILE *stream);写一个字符串到一个流int fputs(const char *s, FILE *stream);打印一个格式化数据到一个流int fprintf(FILE *stream,const char *format, ...);使用一个参量列表指针格式化到流的数据int vfprintf(FILE *stream,const char *format, va_list ap);从一个流中读取格式化数据int fscanf(FILE *stream, const char *format, ...);从一个流中读数据size_t fread(char *buffer,size_t size,size_t count,FILE *stream);写数据到一个流int fwrite(const char *buffer, size_t size, size_t count,FILE *stream);获取流的文件位置指示符int fgetpos(FILE *stream, fpos_t *pos);设置流位置指示符int fsetpos(FILE *stream, const fpos_t *pos);移动文件指针到一个指定的位置int fseek(FILE *stream, long offset, int origin);获得文件指针相对于文件头的偏移量long ftell(FILE *stream);重新定位一个文件指针到文件开头void rewind(FILE *steam);删除一个文件int remove(const char *path);更改一个文件或目录int rename(const char *oldname, const char *newname);缓冲区:_IOFBF_IOLBF_IONBF 缓冲区类型BUFSIZE 缓冲区尺寸>=256刷新一个流并清空与流相关的缓冲区的内容int fflush(FILE *stream);控制流的缓冲区,已经被setvbuf代替void setbuf(FILE *stream, char *buffer);控制流的缓冲区类型和缓冲区大小int setvbuf(FILE *stream, char *buffer, int mode, size_t size);将一个格式化数据写入一个字符串int sprintf(char *buffer, const char *format, ...);从字符串中读格式化数据int sscanf(const char *buffer, const char *format, ...);从参量列表指针格式化到字符串int vsprintf(char *buffer, const char *format, va_list ap);临时文件L_tmpnam 临时文件名长度>0TMP_MAX 产生唯一文件名的最大数目>=25以二进制读写的方式建立一个临时文件FILE *tmpfile(void);建立一个临时文件名char *tmpname(char *string);标准流:stdin 标准输入流stdout 标准输出流stderr 标准错误输出流从stdin获得一个字符int getchar(void);把字符写道stdoutint putchar(int c);从stdin中获取一行char *gets(char *buffer);写一个字符串到stdoutint puts(const char *string);打印一个错误消息到stderrvoid perror(const char *error);打印格式化数据到stdoutint printf(const char *format, ...);从stdin读格式化数据int scanf(const char *format, ...);从参量列表指针格式化到stdoutint vprintf(const char *format, va_list ap);#include <stdlib.h>//定义杂项函数及内存分配函数#include <string.h>//字符串处理#include <strstrea.h>//基于数组的输入/输出#include <time.h>//定义关于时间的函数#include <wchar.h>//宽字符处理及输入/输出#include <wctype.h>//宽字符分类标准C++(同上的不再注释)#include <algorithm>//STL 通用算法#include <bitset>//STL 位集容器#include <cctype>#include <cerrno>#include <clocale>#include <cmath>#include <complex>//复数类#include <cstdio>#include <cstdlib>#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 通用模板类#include <vector>//STL 动态数组容器#include <cwchar>#include <cwctype>using namespace std;//////////////////////////////////////////////////////////////////////////C99 增加#include <complex.h>//复数处理#include <fenv.h>//浮点环境#include <inttypes.h>//整数格式转换#include <stdbool.h>//布尔环境#include <stdint.h>//整型环境#include <tgmath.h>//通用类型数学宏C头文件大全分类函数,所在函数库为ctype.hint isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9')返回非0值,否则返回0int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F)返回非0值,否则返回0int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'),走纸换行('\f'),垂直制表符('\v'),换行符('\n')返回非0值,否则返回0int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值,否则返回0int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z')int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z')数学函数,所在函数库为math.h、stdlib.h、string.h、float.hint abs(int i) 返回整型参数i的绝对值double cabs(struct complex znum) 返回复数znum的绝对值double fabs(double x) 返回双精度参数x的绝对值long labs(long n) 返回长整型参数n的绝对值double exp(double x) 返回指数函数ex的值double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值double log(double x) 返回logex的值double log10(double x) 返回log10x的值double pow(double x,double y) 返回xy的值double pow10(int p) 返回10p的值double sqrt(double x) 返回+√x的值double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度double atan(double x) 返回x的反正切tan-1(x)值,x为弧度double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度double sin(double x) 返回x的正弦sin(x)值,x为弧度double tan(double x) 返回x的正切tan(x)值,x为弧度double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度double hypot(double x,double y) 返回直角三角形斜边的长度(z),x和y为直角边的长度,z2=x2+y2double ceil(double x) 返回不小于x的最小整数double floor(double x) 返回不大于x的最大整数void srand(unsigned seed) 初始化随机数发生器int rand() 产生一个随机数并返回这个数double poly(double x,int n,double c[])从参数产生一个多项式double modf(double value,double *iptr)将双精度数value分解成尾数和阶double fmod(double x,double y) 返回x/y的余数double frexp(double value,int *eptr) 将双精度数value分成尾数和阶double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数char *ecvt(double value,int ndigit,int *decpt,int *sign)将浮点数value转换成字符串并返回该字符串char *fcvt(double value,int ndigit,int *decpt,int *sign)将浮点数value转换成字符串并返回该字符串char *gcvt(double value,int ndigit,char *buf)将数value转换成字符串并存于buf中,并返回buf的指针char *ultoa(unsigned long value,char *string,int radix)将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数char *ltoa(long value,char *string,int radix)将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数char *itoa(int value,char *string,int radix)将整数value转换成字符串存入string,radix为转换时所用基数double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0int atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0 double strtod(char *str,char **endptr)将字符串str转换成双精度数,并返回这个数, long strtol(char *str,char **endptr,int base)将字符串str转换成长整型数,并返回这个数,int matherr(struct exception *e)用户修改数学错误返回信息函数(没有必要使用)double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval)用户修改数学错误返回信息函数(没有必要使用)unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态void _fpreset() 重新初使化浮点数学程序包unsigned int _status87() 返回浮点状态字目录函数,所在函数库为dir.h、dos.hint chdir(char *path) 使指定的目录path(如:"C:\\WPS")变成当前的工作目录,成功返回0int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功返回0pathname为指定的目录名和文件名,如"C:\\WPS\\TXT"ffblk为指定的保存文件信息的一个结构,定义如下:┏━━━━━━━━━━━━━━━━━━┓┃struct ffblk ┃┃{ ┃┃char ff_reserved[21]; /*DOS保留字*/┃┃char ff_attrib; /*文件属性*/ ┃┃int ff_ftime; /*文件时间*/ ┃┃int ff_fdate; /*文件日期*/ ┃┃long ff_fsize; /*文件长度*/ ┃┃char ff_name[13]; /*文件名*/ ┃┃} ┃┗━━━━━━━━━━━━━━━━━━┛attrib为文件属性,由以下字符代表┏━━━━━━━━━┳━━━━━━━━┓┃FA_RDONLY 只读文件┃FA_LABEL 卷标号┃┃FA_HIDDEN 隐藏文件┃FA_DIREC 目录┃┃FA_SYSTEM 系统文件┃FA_ARCH 档案┃┗━━━━━━━━━┻━━━━━━━━┛例:struct ffblk ff;findfirst("*.wps",&ff,FA_RDONLY);int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0void fumerge(char *path,char *drive,char *dir,char *name,char *ext)此函数通过盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),文件名name(TC、WPS等),扩展名ext(.EXE、.COM等)组成一个文件名存与path中.int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)此函数将文件名path分解成盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),文件名name(TC、WPS等),扩展名ext(.EXE、.COM等),并分别存入相应的变量中. int getcurdir(int drive,char *direc) 此函数返回指定驱动器的当前工作目录名称drive 指定的驱动器(0=当前,1=A,2=B,3=C等)direc 保存指定驱动器当前工作路径的变量成功返回0char *getcwd(char *buf,iint n) 此函数取当前工作目录并存入buf中,直到n个字节长为为止.错误返回NULLint getdisk() 取当前正在使用的驱动器,返回一个整数(0=A,1=B,2=C等)int setdisk(int drive) 设置要使用的驱动器drive(0=A,1=B,2=C等),返回可使用驱动器总数int mkdir(char *pathname) 建立一个新的目录pathname,成功返回0int rmdir(char *pathname) 删除一个目录pathname,成功返回0char *mktemp(char *template) 构造一个当前目录上没有的文件名并存于template中char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路径, ,此函数使用DOS的PATH变量,未找到文件返回NULL进程函数,所在函数库为stdlib.h、process.hvoid abort() 此函数通过调用具有出口代码3的_exit写一个终止信息于stderr,并异常终止程序。

相关文档
最新文档