c标准库
头文件
<stdio.h><string.h><stdlib.h>
<ctype.h><time.h><math.h>
<signal.h><stddef.h> <errno.h>
<asset.h><float.h><stdarg.h>
<limits.h><locale.h><setjmp.h>
输入输出函数<stdio.h>
文件打开和关闭:
FILE *fopen(const char *filename, const char *mode);
int fclose(FILE * stream);
字符输入输出:
int fgetc(FILE *fp);
int fputc(int c, FILE *fp);
getc和putc与这两个函数类似,但通过宏定义实现。通常有下面定义:
#define getchar() getc(stdin)
#define putchar(c) putc(c, stdout)
int ungetc(int c, FILE* stream);//把字符 c 退回流 stream
格式化输入输出:
int scanf(const char *format, ...);
int printf(const char *format, ...);
int fscanf(FILE *stream, const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int sscanf(char *s, const char *format, ...);
int sprintf(char *s, const char *format, ...);
行式输入输出:
char *fgets(char *buffer, int n, FILE *stream);
int fputs(const char *buffer, FILE *stream);
char *gets(char *s);
int puts(const char *s);
直接输入输出:
size_t fread(void *pointer, size_t size, size_t num, FILE *stream);
size_t fwrite(const void *pointer, size_t size, size_t num, FILE *stream);
数学函数<math.h>
int abs( int x)
double sqrt(double x) 开根号
double pow(double x,double y) 计算 xy
标准库<stdlib.h>
void * malloc(unsigned size);
void free(void* p);
void * realloc(void * p,unsigned size); 当malloc分配空间太小,使用realloc重新分配
srand( time(0) );
int rand(void);
double atof(char *str)
int atoi(char *str)
long atol(char *str)
char *fcvt(double value,int ndigit,int *dec,int *sign) //浮点数转字符串
tips:转换成字符串可以使用sprintf
int system(const char * string); 该调用功能如同在命令行下输入了string
linux下,如果当前进程有超级权限,最好不要用system()
添加的环境变量都只在当前进程中有效:
int putenv(const char *env) // 添加一条环境变量,存放环境变量数值的指针extern char **environ; 添加格式为envvar=value
int setenv(const char env) //添加一条环境变量,copy 环境变量数值到进程环境表
char getenv(const char *envvar) //获取环境变量的值,返回格式为envvar=value
void abort(void)
void exit(int state)
int atexit (void (*)(void));
字符串<string.h>
size_t strlen(cs)
char *strcat(s1,s2)
char *strncpy(s,ct,n)
int strncmp(cs,ct,n)
char *strtok(char s[], const char *delim);
char *strchr(char *s,int ch)
char *strstr(char *s1,char *s2)
字符串<ctype.h>
//是返回1,否返回0
int isalpha(int ch) //字母
int isdigit(int ch) //数字
int iscntrl(int ch) //控制字符
int islower(int ch) //小写
int isupper(int ch)//大写
int isspace(int ch)//空白符 (空格,tab,换行)
时间<time.h>
变量
struct tm //时间结构体tm
clock_t //存处理器时间
time_t //存日历时间
time_t time(time_t *timer)
time_t time(time_t *seconds) //返回系统时间,并把seconds也设置成返回值
char *ctime(const time_t *timer) //用time_t变量,生成可识别的时间 字符串
struct tm *localtime(const time_t timer)//用time_t变量,转换成 tm结构变量
char asctime(struct tm * ptr) //用tm结构变量,生成生成可识别的时间 字符串
double difftime(time_t time2, time_t time1)//两个time_t变量的差值,单位秒 t1-t2
size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)将tm变量转换成指定的格式,例子strftime(buffer, 80, “%Y-%m-%d %H:%M:%S”, info);