C-标准库

2019-08-07  本文已影响0人  小石头呢

参考地址

https://www.runoob.com/cprogramming/c-standard-library.html

一.<assert.h>

void assert(int expression);

二.<ctype.h>

库函数

//该函数检查所传的字符是否是字母和数字。
int isalnum(int c)

//该函数检查所传的字符是否是字母。
int isalpha(int c)

//该函数检查所传的字符是否是控制字符。
int iscntrl(int c)

//该函数检查所传的字符是否是十进制数字。
int isdigit(int c)

//该函数检查所传的字符是否有图形表示法。
int isgraph(int c)

//该函数检查所传的字符是否是小写字母。
int islower(int c)

//该函数检查所传的字符是否是可打印的。
int isprint(int c)

//该函数检查所传的字符是否是标点符号字符。
int ispunct(int c)

//该函数检查所传的字符是否是空白字符。
int isspace(int c)

//该函数检查所传的字符是否是大写字母。
int isupper(int c)

//该函数检查所传的字符是否是十六进制数字。
int isxdigit(int c)

//该函数把大写字母转换为小写字母。
int tolower(int c)

//该函数把小写字母转换为大写字母。
int toupper(int c)

字符类

三.<errno.h>

库宏:

//这是通过系统调用设置的宏,在错误事件中的某些库函数表明了什么发生了错误。
extern int errno

//这个宏表示一个域错误,它在输入参数超出数学函数定义的域时发生,errno 被设置为 EDOM。
EDOM Domain Error(#define EDOM some_value)

//这个宏表示一个范围错误,它在输入参数超出数学函数定义的范围时发生,errno 被设置为 ERANGE。
ERANGE Range Erro (#define ERANGE some_value)
//errno 宏的用法
#include <stdio.h>
#include <errno.h>
#include <string.h>
 
extern int errno ;
 
int main (){
   FILE *fp;
 
   fp = fopen("file.txt", "r");
   if( fp == NULL ) {
      fprintf(stderr, "Value of errno: %d\n", errno);
      fprintf(stderr, "Error opening file: %s\n", strerror(errno));
   }
   else {
      fclose(fp);
   }
   
   return(0);
}

//运行结果
Value of errno: 2
Error opening file: No such file or directory

//EDOM 宏的用法
#include <stdio.h>
#include <errno.h>
#include <math.h>

int main(){
   double val;

   errno = 0;
   val = sqrt(-10);
   if(errno == EDOM)  {
      printf("Invalid value \n");
   }
   else {
      printf("Valid value\n");
   }
   
   errno = 0;
   val = sqrt(10);
   if(errno == EDOM) {
      printf("Invalid value\n");
   }
   else {
      printf("Valid value\n");
   }
   
   return(0);
}

//运行结果
Invalid value
Valid value

//ERANGE 宏的用法
#include <stdio.h>
#include <errno.h>
#include <math.h>
 
int main(){
   double x;
   double value;
 
   x = 2.000000;
   value = log(x);
   
   if( errno == ERANGE )  {
      printf("Log(%f) is out of range\n", x);
   }
   else {
      printf("Log(%f) = %f\n", x, value);
   }
 
   x = 1.000000;
   value = log(x);
   
   if( errno == ERANGE )  {
      printf("Log(%f) is out of range\n", x);
   }
   else  {
      printf("Log(%f) = %f\n", x, value);
   }
   
   x = 0.000000;
   value = log(x);
   
   if( errno == ERANGE ) {
      printf("Log(%f) is out of range\n", x);
   }
   else {
      printf("Log(%f) = %f\n", x, value);
   }
   
   return 0;
}

//运行结果
Log(2.000000) = 0.693147
Log(1.000000) = 0.000000
Log(0.000000) = -inf

四.<float.h>

C 标准库的 float.h 头文件包含了一组与浮点值相关的依赖于平台的常量。

库宏


五.<limits.h>

简介:

库宏:

六.<locale.h>

简介:
locale.h 头文件定义了特定地域的设置,比如日期格式和货币符号。

库宏:

库函数:

//设置或读取地域化信息。 
char *setlocale(int category, const char *locale)

//设置或读取地域化信息。
struct lconv *localeconv(void) 

库结构:

typedef struct {
   char *decimal_point;
   char *thousands_sep;
   char *grouping;    
   char *int_curr_symbol;
   char *currency_symbol;
   char *mon_decimal_point;
   char *mon_thousands_sep;
   char *mon_grouping;
   char *positive_sign;
   char *negative_sign;
   char int_frac_digits;
   char frac_digits;
   char p_cs_precedes;
   char p_sep_by_space;
   char n_cs_precedes;
   char n_sep_by_space;
   char p_sign_posn;
   char n_sign_posn;
} lconv


七. <math.h>

简介:

库宏:

库函数:


八.<setjmp.h>

简介:
setjmp.h 头文件定义了宏 setjmp()、函数 longjmp() 和变量类型 jmp_buf,该变量类型会绕过正常的函数调用和返回规则。

库变量:

库宏:

库函数:

九.<signal.h>

简介:
signal.h 头文件定义了一个变量类型 sig_atomic_t、两个函数调用和一些宏来处理程序执行期间报告的不同信号。

库变量:

库宏:


库函数:

十.<stdarg.h>

简介:
stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数。可变参数的函数通在参数列表的末尾是使用省略号(,...)定义的。

库变量:

库宏:

十一. <stddef.h>

简介:
stddef .h 头文件定义了各种变量类型和宏。这些定义中的大部分也出现在其它头文件中。

库变量:

库宏:

十二.<stdio.h>

简介:
stdio .h 头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。

库变量:

库宏:

库函数:




十三.<stdlib.h>

简介:
stdlib .h 头文件定义了四个变量类型、一些宏和各种通用工具函数。

库变量:

库宏:

库函数:



十四.<string.h>

简介:
string .h 头文件定义了一个变量类型、一个宏和各种操作字符数组的函数。

库变量:

库宏:

库函数:



十五.<time.h>

简介:
time.h 头文件定义了四个变量类型、两个宏和各种操作日期和时间的函数。

库变量:

库宏:

库函数:

上一篇下一篇

猜你喜欢

热点阅读