—-想了解C语言中常用的几个头文件及库函数分享的全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>
不完全统计,C语言标准库中的头文件有15个之多,所以我主要介绍常用的这四个头文件stdio.h,string.h,math.h,stdlib.h,以后用到其他的再做补充。下面上干货:
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中(包括’