EPANET源碼中用到的幾個簡單C語言函數介紹三

引自input2.Cnode

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 字符串,跳過前面的空格字符,直到趕上數字或正負符號纔開始作轉換,到出現非數字或字符串結束時('\0')才結束轉換,並將結果返回。若endptr不爲NULL,則會將遇到不合條件而終止的nptr中的 字符 指針由endptr傳回。參數nptr字符串可包含正負號、小數點或E(e)來表示指數部分。如123.456或123e-2。
返回值
返回轉換後的 浮點型數。
 
2. atof(將字串轉換成 浮點型數)
相關函數 atoiatolstrtodstrtolstrtoul
表頭文件 #include <stdlib.h>
定義函數 double atof(const char *nptr);
函數說明 atof()會掃描參數nptr 字符串,跳過前面的空格字符,直到趕上數字或正負符號纔開始作轉換,而再遇到非數字或字符串結束時('\0')才結束轉換,並將結果返回。參數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));
...
相關文章
相關標籤/搜索