char字符串转double浮点函数——strtod

       最近在编写通信协议解码程序时需要把char字符串转换为double双精度字符串。本想自己写段字数类型转换的程序,就网上看看大家遇到这类问题都是采取怎样的处理方式。经过一番搜索,发现函数strtod可以实现这一功能。

      使用函数strtod之前需要先添加头文件#include 。strtod的原型如下:

double strtod (constchar* str, char** endptr)

       参数中,str为要转换的字符串的地址,endptr 为第一个不能转换的字符的指针。转换后的结果作为返回值返回。在转换过程中strtod会自动扫描str字符串,跳过前面的空白字符比如空格、tab等,直到扫描到数字、正负号才开始进行转换,直到检测到不符合转换条件的字符时终止转换,并把不符合转换条件的字符指针由endptr返回,如果endptr为NULL,则参数endptr不使用。

      下面举一个例子例子说明一下。分别定义两个字符串test和str,然后使用strtod把这两个字符串转换为double型数据d1和d2。通过仿真测试,可以看到strtod确实达到了我们期望的目的。

char字符串转double浮点函数——strtod_第1张图片

char字符串转double浮点函数——strtod_第2张图片

你可能感兴趣的:(【C/C++】)