• EPANET源码中用到的几个简单C语言函数介绍三


    引自input2.C

    int  getfloat(char *s, double *y)
    /*
    **-----------------------------------------------------------
    **  Input:   *s = character string                       ;输入:字符串
    **  Output:  *y = floating point number                  ;输出:doulbe类型的指针
    **           returns 1 if conversion successful, 0 if not         如果转换成功返回1,否则返回0
    **  Purpose: converts string to floating point number    ;作用:将一个字符串转成doulbe类型数值
    **-----------------------------------------------------------
    */
    {
        char *endptr;
        *y = (double) strtod(s,&endptr);
        if (*endptr > 0) return(0);
        return(1);
    }

    ------------------------------------------------------------------------- 

    1.strtod(const char *nptr,char **endptr);
    表头文件
    #include<stdlib.h>
    定义函数
    double strtod(const char *nptr,char **endptr);
    函数说明
    strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。
    返回值
    返回转换后的浮点型数。
     
    2. atof(将字串转换成浮点型数)
    相关函数 atoiatolstrtodstrtolstrtoul
    表头文件 #include <stdlib.h>
    定义函数 double atof(const char *nptr);
    函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
    返回值 返回转换后的浮点型数。
     
    3.memset
    void *memset(void *s, char ch, size_t n);
    函数解释:将s中前n个字节 (typedef unsigned int size_t)用 ch 替换并返回 s 。
    memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体数组进行清零操作的一种最快方法
     
    e.g:
    marked   = (char *) calloc(Nnodes+1,sizeof(char));  //开辟连续的所有节点内存空间
       ERRCODE(MEMCHECK(marked));
       if (!errcode)
       {
          memset(marked,0,(Nnodes+1)*sizeof(char));
    ...
  • 相关阅读:
    C++中获取高精度时间差
    有关宏的一个问题
    HDU 2504 又见GCD
    .NET中统一的存储过程调用方法(收藏)
    如何让你的SQL运行得更快
    最赚钱的5种成功创业可行方式
    SQL语句优化技术分析
    js document.getElementByID("aa")的位置
    写SQL时尽量不要对字段进行运算操作
    连接池的问题
  • 原文地址:https://www.cnblogs.com/KingOfFreedom/p/3316199.html
Copyright © 2020-2023  润新知