C语言中自带的头文件(.h)所包含的函数
2016-10-12 20:28
671 查看
1.<stdio.h>:定义了输入输出函数、类型以及宏,函数几乎占了标准库的1/3。
(1)文件访问。
FILE
*fopen(“filename”,“mode”):
以mode模式打开地址为'filename'的文件,并返回文件指针。
访问模式主要是“r”:只读;
“w” :只写,并删除已有内容; “a”:追加,在末尾追加;
“r+”, “w+”:读写; “a+”追加,上述结尾加“b”:二进制文件操作。
注意:其中r是打开文件,而w会创建(如果文件不存在);
w会覆盖原有内容,a则是在原有文件末尾追加。
int
fclose(FILE *f):
释放缓冲区数据,关闭流。
下面两个没太用过:
FILE
*freopen(“filename”,“mode”,FILE * f):
以mode模式打开地址为'filename'的文件,并将该文件与流f2关联。
int
fflush(FILE *f):
将已写到缓冲区但未写入文件中的所有数据写入文件中。
(2)二进制输入/输出
fread(*ptr,size,n,FILE*
f):
从f中读取n个长度为size的对象,并放入ptr指向的数组中。
fwrite(*ptr,size,n,FILE* f):
从ptr指向数组中读取n个长度为size的对象,并写入f中。
注意:要注意write与read的对象,读和写都是针对文件流f的。
(3)非格式化输入/输出
int
fgetc/getc(FILE *f):
返回流f的下一个字符,到达文件末尾/发生错误,则返回EOF。
int
fputc/putc(int c, FILE *f)
将字符c输入到流f中。
int
fgets(char * s,int n,FILE *f):
将f中下n-1个字符读入到数组s中。遇到换行符,则终止。
int
fputs(const char * s,FILE *f):
将字符串s输出到流中。
int
unget(int c, FILE
*f)
将c写回到f中。
(4)格式化输入/输出
按一定格式转输出。
scanf/fscanf/sscanf
printf/fprintf/sprintf
注意:不加f/s,则是格式字符串标准输入/出函数,输入/出到终端/屏幕;printf(const
char *format,...)
加s,输入/出到字符串中。sprintf(char
*s,const char *format,...)
加f,输入/出到文件流中。
fprintf(FILE *f,const char *format,...)
(5)文件定位
long
ftell(FILE *f):
返回当前指针位置。错误时返回-1L。
int
fseek(FILE *f,long offset,int origin):
将当前流f指针位置设置到:origin后offset个字符处。origin有:SEEK_SET:文件起始位置;SEEK_CUR指针当前位置,SEEK_END:文件结束位置。
void
rewind(FILE *f)
指针返回文件开始位置,相当于:fseek(f,0L,SEEK_SET)
不常用:
int
fgetpos(FILE
*f,*p)
将指针当前位置记录到*p中,以供fsetpos函数使用。
int
fsetpos(FILE *f,const *p)
指针位置指向*p。
(6)错误处理与文件操作
int
feof(FILE *f)
指示文件结束,一直返回0,结束时返回非0值。
int
ferror(FILE *f)
如果设置了与f相关的错误指示符,则返回一个非0值。
int
remove(char *filename)
删除指定位置的文件。
int
rename(const char *oldname,const char *newname)
改文件名,否则返回非0值。
FILE
*tmpfile(void)
建立临时文件,‘wb+’模式,在被关闭或程序正常结束时自动删除
2.<string.h> 分成两组,一组str开头,一组mem开头(该组函数在<memory.h>中也有定义,不是所有编译器都有)
(1)str
char
* strcpy (char *dest, const char *src);
将字符串src复制到字符串dest中(包括'\0'),返回dest
char
* strncpy (char *dest, const char *src,n);
将src中的前n个字符复制到dest中,返回dest,不够n个则补‘\0’
char * strcat (char *dest, const char *src);
char
* strncat (char *dest, const char *src,n);
src连接到dest后;src 中前n个字符连接到dest后。
int
strcmp (const char *s1, const char *s2);
int
strncmp (const char *s1, const char *s2,n);
比较s1与s2,s1<s2则返回负数,否则返回0;比较前n个字符
char
* strchr (const char *s, int c);
char
* strrchr (const char *s, int c);
返回字符串s中第一次出现字符c的位置指针;返回字符串s中最后一次出现字符c的位置指针(c会转换成char)
不常见
size_t strcspn (const char *s1, const char *s2);
char * strdup (const char *s);
char * strerror(int errnum);
(2)mem
void
*memcpy(void *s, const void *ct,n)
将字符串ct中的前n个字符拷贝到s中,并返回s。
void
*memmove(s,ct,n)同上一函数,只是在对象重叠时仍能正确执行。
void
*memset(void *s,int c, n)
将s中的前n个字符替换成c,并返回s。
int
memcmp(cs,ct,n)
将cs前n个字符与ct进行比较,cs<ct,返回负数;否则返回0
void
*memchr(cs,c,n)
返回指向c在cs中第一次出现的位置指针。
3.<math.h>一些数学函数
求绝对值
int abs (int x);
long labs (long
x);
float fabs (float x):
所有返回值均为double,三角函数角度用弧度表示,x,y均为double
double acos (x);
double asin (x);
double atan (x);
double atan2 (y, x): arctan(y/x)
double tan (x);
double tanh (x): 双曲正切
double sin (x);
double sinh (x);
double cos (x);
double cosh (x);
double pow (x, y);
double sqrt (x);
double ceil (x): 不小于x的最小整型数(向上取整)
double
floor (x): 不大于x的最大整型数(向下取整)
double exp (x);
double fabs (x);
double log (x): ln(x)
double log10 (x);
double fmod (x, y): x/y的余数
double ldexp (x, n): x*2^n
double modf (x, double *ip): 将x分成整数与小数两部分,返回小数部分,整数部分放在*ip中
double frexp (x, int *exp); 将x分成(0.5,1)之间的一个真分数和一个2的幂数,返回真分数,幂数放在exp中
4.<stdlib.h>数值转换、内存分配等问题。
int
rand(void)
产生一个0~32767之间的随机整数。
指针名=(数据类型
*)calloc(n,size)
分配n个长度为size的连续空间,并且将所有元素置零,返回首地址。
指针名=(数据类型
*)malloc(n*size)
分配n*size个字节的内存,并返回首地址。
指针名p1=(数据类型
*)realloc(要改变内存大小的指针名p2,新的大小n)
分配长度为n字节的空间,将p2值赋值到该内存中,返回首地址到p1.(改变p1指向地址的内存大小)
void
free(*p)
释放p指向的内存(p为malloc,realloc,calloc所开辟的内存)
void
abort (void)
使程序非正常终止。
void
exit(int status)
使程序正常终止。
以上是我总结的一些头文件所包含的函数,由于时间仓促加上本人接触C不久,难免有所纰漏,读者可作为参考,发现问题还望指出,共同学习。
上面并未介绍所有的头文件,所介绍头文件包含的函数也只列出了一些常用的,后面学习继续补充吧。。
相关文章推荐
- C语言中自带的头文件(.h)所包含的函数
- C语言中自带的头文件(.h)所包含的函数
- C语言中自带的头文件(.h)所包含的函数
- C语言头文件中包含的函数
- C语言头文件组织与包含原则(函数指针和结构体的前项声明)
- 转:C语言头文件下包含函数(math.h stdio.h stdlib.h string.h)
- C语言中自带头文件(.h)中包含的函数
- C语言常用函数的包含文件
- C语言的头文件和库文件(函数库)
- 【C语言】为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- C语言中库函数自带的排序函数qsort
- C语言中库函数自带的查找函数bsearch
- C语言头文件避免重复包含
- C语言笔记——常见的头文件及其包含的内置函数
- C语言头文件的包含顺序
- C语言的头文件和库文件(函数库)
- C语言——将宏作为头文件,包含在用户程序中
- 大三时候实现的,关于大整数(超过long范围)加减乘除操作的头文件,并包含了实现RSA加解密的函数
- C++头文件多次包含 变量,函数重定义解决方案
- c语言有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串