/*
 * getword.c - getword() and related functions
 */
#include 
#include 
char word[200];
static int hit_eof = 0;
static char line[200];
static char *lp;
void
init_getword (void)
{
  char *s;
  if (gets (line) == NULL)
    {
      hit_eof = 1;
      return;
    }
  if ((s = strchr (line, '#')) != NULL)
    *s = '\0';
  lp = line;
}
int
getword (void)
{
  char *s;
  s = word;
  while (*lp == ' ' || *lp == '\t')
    lp++;
  while (*lp == '\0')
    {
      init_getword ();
      if (hit_eof)
	return 1;
      while (*lp == ' ' || *lp == '\t')
	lp++;
    }
  while (*lp != ' ' && *lp != '\t' && *lp != '\0')
    *s++ = *lp++;
  *s = '\0';
  return 0;
}
int
getint (void)
{
  int i;
  if (getword ())
    return 0;
  if (sscanf (word, "%d", &i) < 1)
    i = 0;
  return i;
}
double
getdouble (void)
{
  double x;
  if (getword ())
    return 0.0;
  if (sscanf (word, "%lf", &x) < 1)
    x = 0.0;
  return x;
}
 
   |