语法:
#include <math.h> double modf( double num, double *i ); |
功能: 函数将参数num 分割为整数和小数,返回小数部分并将整数部分赋给i。
语法:
#include <stdlib.h> div_t div( int numerator, int denominator ); |
功能: 函数返回参数numerator / denominator的商和余数。结构类型div_t定义在stdlib.h中:
int quot; // 商数
int rem; // 余数
例, 以下代码显示x/y的商和余数:
div_t temp;
temp = div( x, y );
printf( "%d divided by %d yields %d with a remainder of %d/n", x, y, temp.quot, temp.rem );
语法:
#include <stdlib.h> void qsort( void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) ); |
功能: 对buf 指向的数据(包含num 项,每项的大小为size)进行快速排序。如果函数compare 的第一个参数小于第二个参数,返回负值;如果等于返回零值;如果大于返回正值。函数对buf 指向的数据按升序排序。
语法:
#include <stdlib.h> void *bsearch( const void *key, const void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) ); |
功能: 函数用折半查找法在从数组元素buf[0]到buf[num-1] 匹配参数key。如果函数compare 的第一个参数小于第二个参数,返回负值;如果等于返回零值;如果大于返回正值。数组buf 中的元素应以升序排列。函数bsearch()的返回值是指向匹配项,如果没有发现匹配项,返回NULL。
语法:
#include <stdlib.h> double atof( const char *str ); |
功能:将字符串str转换成一个双精度数值并返回结果。 参数str 必须以有效数字开头,但是允许以“E”或“e”除外的任意非数字字符结尾。例如:
x = atof( "42.0is_the_answer" );
x的值为42.0。
语法:
#include <stdlib.h> int atoi( const char *str ); |
功能:将字符串str转换成一个整数并返回结果。参数str 以数字开头,当函数从str 中读到非数字字符则结束转换并将结果返回。例如,
i = atoi( "512.035" );
i 的值为 512。
语法:
#include <stdlib.h> long atol( const char *str ); |
功能:将字符串转换成长整型数并返回结果。函数会扫描参数str字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时才结束转换,并将结果返回。例如,
x = atol( "1024.0001" );
x的值为1024L。
语法:
#include <string.h> void *memset( void *buffer, int ch, size_t count ); |
功能: 函数拷贝ch 到buffer 从头开始的count 个字符里, 并返回buffer指针。 memset() 可以应用在将一段内存初始化为某个值。例如:
memset( the_array, '/0', sizeof(the_array) );
这是将一个数组的所以分量设置成零的很便捷的方法。
注意: 不能用这个函数给int型的数组赋上一个非零值,它的作用是给每一个字节赋上一个值。
语法:
#include <string.h> char *strchr( const char *str, int ch ); |
功能:函数返回一个指向str 中ch 首次出现的位置,当没有在str 中找ch到返回NULL。