c语言strtof函数用法,c语言工具函数
abort
abs
assert
atexit
atof
atoi
atol
atoll
bsearch
div
exit
_Exit
getenv
labs
llabs
ldiv
lldiv
longjmp
qsort
raise
rand
setjmp
signal
srand
strtod
strtof
strtol
strtold
strtoll
strtoul
strtoull
system
va_arg、var_copy、va_start及va_end
该节的函数大都使用头文件。定义的类型div_t和ldiv_t分别是函数div()和ldiv()的返回值类型。
1.abort
#include
void abort(voi );
使程序立即非正常终止,一般不对缓冲区清仓。
2.abs
#include
int abs(int num);
返回整数变元num的绝对值。
3.assert
#include
void assert(int exp);
当表达式exp求值为0时,宏先向标准错误流stderr写错误信息,然后使程序非正常终止,否则,该宏无任何作用。
当宏NDEBUG定义时,该宏的定义为空。
4.atexit
#include
int atexit(void (*func)(void));
使得程序终止时调用由func指针指向的函数。如果成功注册,则函数返回0值,否则返回非0值。
最少应允许注册32个终止函数,被注册的函数以注册的反序调用。
5.atof
#include
double atof(const char *str);
把str指向的串转换为双精度浮点值,串中必须含合法的浮点数,否则返回值不确定。
串中的数可以由有效浮点数中的任何字符结束,如空白符、除句号外的标点符号和E或e之外的字符等。
6.atoi
#include
int atoi(const char *str);
把str指向的串转换为整数(int)值。串中必须含合法整型数,否则返回值无定义。
串中的整数内容可由任何不是该整数的一部分的字符终止,如空白符、标点符号和字符等。
7.atol
#include
long atol(const char *str);
把str指向的串转换为长整数(long int)值。串中必须含合法整型数,否则返回值无定义。
串中的整数内容可由任何不是该整数的一部分的字符终止,如空白符、标点符号和字符等。
8.atoll
#include
long long atoll(const char *str);
该函数是C99增加的。把str指向的串转换为长长整数(long long int)型值。其他方面类似于atol()。
9.bsearch
#include
void *bsearch(const void *key, const void *buf, size_t num,
size_t size, int (*compare)(const void *, const void *));
函数对buf指向的已排序数组实施对分查找(binary search),返回与key指向的关键字匹配的第一个成员的指针。num说明数组中的元素数目,size指出每个元素占有的字节数。
函数指针compare指向的函数把关键字key和数组元素比较,比较函数的形式为:
int func_name(const void *arg1, const void *arg2);
arg1是key指针,arg2是数组元素指针。
返回值必须如下:
arg1 < arg2时,返回值<0;
arg1 == arg2时,返回值=0;
arg1 > arg2时,返回值>0。
数组必须已经按升序排序,最低地址处放最低元素。
如果数组中不含关键字,则函数返回空指针。
10.div
#include
div_t div(int numerator, int denominator);
函数返回numerator/denominator操作的商和余数,返回值的结构类型是div_t,该结构有以下两个域:
int quot; /* 商 */
int rem; /* 余数 */
11.exit
#include
void exit(int exit_code);
该函数使程序立即正常终止,这意味着调用由atexit()注册的终止函数,并且清空和关闭任何打开的文件。
环境支持时,exit_code值传给调用进程。
12._Exit
#include
void _Exit(int exit_code);
该函数由C99增加。该函数类似于exit(),但有下列差别:
没有调用atexit()注册的函数;
没有调用signal()注册的信号处理程序;
打开的文件不必清空或关闭。
13.getenv
#include
char *getenv(const char *name);
函数返回一个指针,指向实现定义的环境信息表中与name指向的串有关的环境信息。千万不要用代码修改该串。
没有查到匹配数据时,返回空指针。
14.labs
#include
long labs(long int num);
返回num的绝对值。
15.llabs
#include
long long int llabs(long long int num);
由C99增加,返回num的绝对值。
16.ldiv
#include
ldiv_t div(long int numerator, long int denominator);
函数返回numerator/denominator操作的商和余数,返回值的结构类型是ldiv_t,该结构有以下两个域:
long int quot; /* 商 */
long int rem; /* 余数 */
17.lldiv
#include
lldiv_t div(long long int numerator, long long int denominator);
由C99增加,函数返回numerator/denominator操作的商和余数,返回值的结构类型是lldiv_t,该结构有以下两个域:
long long int quot; /* 商 */
long long int rem; /* 余数 */
18.longjmp
#include
void longjmp(jmp_buf envbuf, int status);
使程序在最近一次调用setjmp()处重新执行。status变成setjmp()的返回值。
19.qsort
#include
void qsort(void *buf, size_t num, size_t size, \
int (*compare)(const void *, const void *));
使用Quicksort算法对buf指向的数组进行排序,num是数组中元素的数目,size说明每个元素的大小(按字节)。
比较函数compare的形式如下:
int func_name(const void *arg1, const voie *arg2);
其返回值必须如下所示:
arg1 < arg2, <0
arg1 == arg2, ==0
arg1 > arg2, >0
数组按升序排列,最低地址处放最小元素。
20.raise
#include
int raise(int signal);
把signal指定的信息传入执行中的程序。成功时返回0,否则返回非0值。下面信号是由ANSI C标准定义的:
SIGABRT 终止错误
SIGFPE 浮点错误
SIGILL 非法指令
SIGINT 用户按CTRL+C键
SIGSEGV 非法的内存访问
SIGTERM 终止程序
21.rand
#include
int rand(void);
产生伪随机数序列,每次它被调用时返回一个0到RAND_MAX间的整数。RAND_MAX值至少是32767。
22.setjmp
#include
int setjmp(jmp_buf envbuf);
在缓冲区envbuf中保存系统堆栈的内容,供longjmp()以后使用。
23.signal
#include
void (*signal(int signal, void (* func)(int)))(int);
注册由func指向的函数,作为signal所说明的信号的一个处理程序。
24.srand
#include
void srand(unsigned int seed);
为rand()生成的伪随机数序列设置起点。
25.strtod
#include
double strtod(const char *start, char **end);
函数把start指向的字符串中存储的数字串表达式转换成双精度浮点值(double),然后返回转换结果。
过程如下:首先滤掉start前导空白符,然后逐个读入构成数的字符,任何非浮点数成分的字符都会终止上述过程,这类字符包括空白、标点(英文句号除外)和非E非e的字母等。最后,若原始串未用完,则end置为指向剩余串的开始字符。
溢出产生时,函数返回HUGE_VAL(代表上溢)或-HUGE_VAL(代表下溢),并且全局变量errno置为ERANGE。如果start未指向一个数值,则不发生转换并返回0。
如果范围有错,则返回0,errno也置为ERANGE。
26.strtof
#include
float strtof(const char *start, char **end);
该函数由C99增加。与strtod()类似,只是它返回float类型值。
27.strtol
#include
long int strtol(const char *start, char **end, int radix);
把start指向的串中的数字串表达式转换为长整数,然后返回转换结果。数字串的基(进制)有radix决定。如radix为0,进制由说明常数的规则决定;如radix为非0,它必须是2到36间的一个值。
end的使用类似于strtod()的讨论。
如果结果不能用长整数表示,则返回LONG_MAX或LONG_MIN,并且errno设为ERANGE。如果start不指向一个数,则不产生转换,返回0。
28.strtold
#include
long double strtold(const char *start, char **end);
该函数由C99增加。处理类似于strtod(),只是它返回long double型值。
29.strtoll
#include
long long int strtoll(const char *start, char **end, int radix);
该函数由C99增加。处理类似于strtol(),只是它返回long long int型值。
30.strtoul
#include
unsigned long int strtoul(const char *start, char **end,
int radix);
把start指向的串中的数字表达式转换为无符号长整数。执行过程类似于strtol()。
如果结果不能按无符号长整数表示,则返回ULONG_MAX或ULONG_MIN,且全局变量errno置为ERANGE。
31.strtoull
#include
unsigned long long int strtoull(const char *start, char **end,
int radix);
该函数由C99增加。处理类似于strtoul(),只是它返回unsigned long long int型值。
32.system
#include
int system(const char *str);
把str指向的串作为命令传入操作系统的命令处理程序。该函数与具体环境有关。
33.va_arg、var_copy、va_start及va_end
#include
type va_arg(va_list argptr, type);
void va_copy(va_list target, va_list source);
void va_end(va_list argptr);
void va_start(va_list argptr, last_parm);
其中va_copy由C99增加。
宏va_arg()、var_start()和va_end()一起作用,完成向函数传入数目可变的变元操作。
创建一个能获取可变数目变元的函数的通用过程如下:在函数定义中,可变参数表之前它必须有一个或多个已知参数,其中最右者为last_parm,在 调用va_start()时,last_parm被用作第二个参数。使用任何可变长的变元之前,必须先用va_start()初始化变元指针 argptr,之后,经过对va_arg()的调用,以作为下一个参数类型的参数类型,返回参数。最后取完所有参数并从函数返回之后,必须调用 va_end(),确保堆栈的正确恢复。如未正确调用va_end(),程序很可能瘫痪。
例子:函数sum_series()的第一个参数是变元项数。
double sum_series(int num, … )
{
double sum = 0.0, t;
va_list argptr;
va_start(argptr, num);
for (; num; num--) {
t = va_arg(argptr, double);
sum += t;
}
va_end(argptr);
return sum;
}
c语言strtof函数用法,c语言工具函数相关推荐
- c语言pow函数用法_C语言基础的不能再基础的程序知识!“hello world”!
涉及到的知识点有:include有两种用法.{}大括号用法解释.C语言自定义名字的要求. c语言库函数printf的解释.编译错误有两种.调用system函数.c语言编译过程. 操作系统结构.指令集中 ...
- average函数用法c语言,Average函数
SUM函数是用来CSS布局HTML小编今天和大家分享和的 用函数计算省事 AVERAGE函数是用来CSS布局HTML小编今天和大家分享平均值的 PRODUCT函数是用来CSS布局HTML小编今天和大家 ...
- 函数用法r语言_R语言中的apply函数族
前言 apply函数族是R语言中数据处理的一组核心函数,通过使用apply函数,我们可以实现对数据的循环.分组.过滤.类型控制等操作.但是,由于在R语言中apply函数与其他语言循环体的处理思路是完全 ...
- c 语言void函数用法,c语言void的用法
许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.下面小编就跟大家介绍下c语言void的用法. c语言void的用法1.void的含义 void的字面意思是 ...
- c语言malloc函数用法_C语言内存模型!小本本记起来啊!
一.C语言的内存分配模型 1.程序代码区:存放函数体的二进制代码. 2.全局区数据区:全局数据区划分为三个区域.全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全 ...
- linux中c语言kbhit函数用法,C语言判断用户是否输入-非阻塞函数kbhit
一.基础研究 要从地址读取数据,肯定是要定义一个指针变量p,用它来实现变换地址和取值的功能.另外程序是当两个条件中的某一个出现时才停止,所以应该用while~do循环语句循环输出n和d,并用while ...
- c语言trim库函数用法,c语言编写trim 函数
大多数语言都有个操作字符串的函数trim.可是c语言的glibc 库里面没带,那就自己DIY个吧. trim函数的作用是去除字符串两边的空格. TODO:画图说明 实现源码: char *ho_tri ...
- 标准C语言各种时间函数用法,C语言中系统时间函数是怎么用的?
慕莱坞森 1.C语言中读取系统时间的函数为time(),其函数原型为:#include time_t time( time_t * ) ;time_t就是long,函数返回从1970年1月1日(MFC ...
- python方差函数_python 中的var()函数和cov函数用法-Go语言中文社区
本文是学习多篇博客总结而得: numpy中var和cov函数求法和MATLAB中var和cov函数求法类似: 首先均值X,样本方差S,样本协方差C 公式分别为: 一. MATLAB和Python中计 ...
最新文章
- python中append的用法_Python 列表 append() 使用方法及示例
- wpf 客户端【JDAgent桌面助手】开发详解(四) popup控件的win8.0的bug
- 第七个猴子java_黑猴子的家:Java SE 练习题第七章
- 网络基础:网络IP 、子网掩码 、路由器 、DNS知识分享
- 《1024伐木累》-程序员妹子与花木兰
- 让我们发展纯粹的金钱关系吧,那多美好(转)
- java 30天之前,Java获取当前时间30天之前的时间
- delphi mysql 8.0_Delphi 8免费版
- 【Luat-esp32】2.点屏-st7735
- 【Flex】FLEX工程合并留意错误。
- 正圆锥体空间方程_计算机基础算法(一)——时间与空间复杂度
- python计算圆的周长_Python计算圆周长和面积
- 遥感、遥感技术、遥感卫星、卫星遥感、卫星遥感技术
- mysql中怎么防止数据丢失
- proxy代理服务器,实现跨域
- 录屏,webm格式转gif的小技巧
- k8s-滚动更新与健康检查
- 百度云分享 vitis vivado 2021.1 2020.2 2020.1 2019.2 2019.1 2018.3 2018.2 2017.4 , all OS(win和linux)
- 使用sklearn进行增量学习
- 换网线IP地址会改变吗?