C标准库常用函数概要

stdio.h

printf()/fprintf()

printf的返回值是打印的字符数, 发生错误则返回负数

scanf()/fscanf()

scanf的返回值是成功赋值的变量个数, 失败则返回EOF

getc()/putc()

读取/写入字符

fgets()/fputs()

fgets()不同于gets(), fgets()会尽可能保证读取的字符串末尾有换行符. 同样, fputs()写入是不会自动添加换行符, 这二者可以很好地配合.需要注意的是, fgets()可以防止存储溢出, 因此, 相较于gets(), fgets()是一个更好的选择

fseek()/ftell()

fseek()用于移动文件位置, ftell()用于确定文件位置

fgetpos()/fsetpos()

相较于上两个使用long类型来表示文件位置函数, 这两个函数使用fpos_t类型, 能处理更大的文件

ungetc()

将一个指定字符放回到stdin中, 这样下一次调用标准输入函数是就会读入那个字符.

fflush()

用于刷新缓冲区(flushing a buffer), 使用fflush(stdout)可以获取实时的输出

feof()/ferror()

feof()用于判断文件是否到达结尾, ferror()用于判断流中是否发生错误

freopen()

用于stdin的重定向, 将stdin重新打开为某个文件, 对于调试来说很方便

fread()/fwrite()

读取/写入一定长度二进制文件内容并放在指定的内存地址中/文件中, 一般不用于操作ascii文件. 返回值是成功读取/写入对象的数量

math.h

函数名称 用途
abs() 求绝对值
fabs() 浮点数绝对值
acos() 反余弦
asin() 反正弦
atan() 反正切
cos() 余弦
sin() 正弦
tan() 正切
ceil() 上界
floor() 下界
log() 自然对数
pow() 幂
sqrt() 平方根
exp() e的幂

string.h

memset()

填充指定的内存块. 常用于快速清零数组或结构体.

memcpy()

拷贝指定的内存块. 如果源内存和目标内存存在重叠, 会出错.

memmove()

功能与memcpy相同, 但允许源内存与目标内存存在重叠.

memcmp()

比较指定的两个内存块

atoi()

字符串转整数

strpbrk()

在字符串s2中搜索字符串s1

stdlib.h

qsort()

快速排序. 原型为

void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));

base是数组首地址, num是待排序元素数量, width是一个元素占用空间大小,compare是函数指针, 例如, 对整数升序排序, compare可以这么写:

int comp(const void *a, const void *b)
{
    return *(int*)a - *(int*)b;
}

bsearch()

二分法搜索, 原型为:

void *bsearch(const void *key, const void *base, size_t nelem, size_t width, int(*fcmp)(const void *, const void *));

key为待查找关键字指针, buf为待查找数组

bsearch()常与qsort()一起使用

system()

调用系统指令

posted on 2019-05-04 16:23  Ark2000  阅读(204)  评论(0)    收藏  举报

导航