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()

调用系统指令

原文地址:https://www.cnblogs.com/ark2000/p/10808823.html