(一) qsort 函数
用法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));
各参数意义:1.待排序数组首地址 2.数组中带排序元素的数量 3.各元素占用空间大小 4.指向函数的指针(这里void * 如果函数参数不指定,就使用void *)。这里的第4个参数是用来判断大小的函数。如果我不只是想排序一个数字而已,我还想对结构体数组进行排序,因此我要定义一个函数。比如有一个结构 struct num { int m; int n; }; 然后我有一个num 类型的数组, num dddd[100]; 我想给 dddd这个数组排序,那怎么办?排序的规则是以m+n大小排序.
程序如下:
<pre name="code" class="cpp">int cmp(const void* a,const void *b)
{
return ((*(num *)a.m)+(*(num *)a.n)-(*(num *)b.m)-(*(num *)b.n));
}
qsort(dddd,100,sizeof(dddd[0]),cmp);
(二)open_dir,read_dir,close_dir (对目录操作的函数)
(三)linux的DIR类型。这种类型是linux中对于目录文件的定义,类似于文件描述符。
(四)类似于sys/types.h这种头文件是在x86_64目录下,