params.c

来自「Data Minig中的FP GROWTH 算法,附带test实例及实验数据分析」· C语言 代码 · 共 80 行

C
80
字号
#include <stdarg.h>#include <stdlib.h>#include <assert.h>#include "params.h"int getints (char *s, char **end, int n, ...){                                 va_list args;                   int     k = 0, t;               assert(s && end && (n > 0));    va_start(args, n);              while (k < n) {                   t = (int)strtol(s, end,10);     if (*end == s) break;           *(va_arg(args, int*)) = t;      k++;                           s = *end; if (*s++ != ':') break;  }                               va_end(args);                   return k;                     }  /*--------------------------------------------------------------------*/int getdbls (char *s, char **end, int n, ...){                                 va_list args;                   int     k = 0;                  double  t;                      assert(s && end && (n > 0));    va_start(args, n);              while (k < n) {                   t = strtod(s, end);             if (*end == s) break;           *(va_arg(args, double*)) = t;      k++;                               s = *end; if (*s++ != ':') break;  }                               va_end(args);                   return k;                     }  /*--------------------------------------------------------------------*/int getintvec (char *s, char **end, int n, int *p){                                 int k = 0, t;                   assert(s && end && (n > 0));    while (k < n) {                   t = (int)strtol(s, end,10);     if (*end == s) break;           p[k++] = t;                     s = *end; if (*s++ != ':') break;  }                               return k;                     } /*--------------------------------------------------------------------*/int getdblvec (char *s, char **end, int n, double *p){                                int     k = 0;                  double  t;                      assert(s && end && (n > 0));    while (k < n) {                   t = strtod(s, end);             if (*end == s) break;           p[k++] = t;                     s = *end; if (*s++ != ':') break;  }                               return k;                     }  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?