| 41 |
|
ungetc(c, fp); |
| 42 |
|
return(s); |
| 43 |
|
} |
| 44 |
– |
|
| 45 |
– |
|
| 46 |
– |
isint(s) /* check integer format */ |
| 47 |
– |
char *s; |
| 48 |
– |
{ |
| 49 |
– |
register char *cp = s; |
| 50 |
– |
|
| 51 |
– |
while (isspace(*cp)) |
| 52 |
– |
cp++; |
| 53 |
– |
if (*cp == '-' || *cp == '+') |
| 54 |
– |
cp++; |
| 55 |
– |
do |
| 56 |
– |
if (!isdigit(*cp)) |
| 57 |
– |
return(0); |
| 58 |
– |
while (*++cp); |
| 59 |
– |
return(1); |
| 60 |
– |
} |
| 61 |
– |
|
| 62 |
– |
|
| 63 |
– |
isflt(s) /* check float format */ |
| 64 |
– |
char *s; |
| 65 |
– |
{ |
| 66 |
– |
register char *cp = s; |
| 67 |
– |
|
| 68 |
– |
while (isspace(*cp)) |
| 69 |
– |
cp++; |
| 70 |
– |
if (*cp == '-' || *cp == '+') |
| 71 |
– |
cp++; |
| 72 |
– |
s = cp; |
| 73 |
– |
while (isdigit(*cp)) |
| 74 |
– |
cp++; |
| 75 |
– |
if (*cp == '.') { |
| 76 |
– |
cp++; s++; |
| 77 |
– |
while (isdigit(*cp)) |
| 78 |
– |
cp++; |
| 79 |
– |
} |
| 80 |
– |
if (cp == s) |
| 81 |
– |
return(0); |
| 82 |
– |
if (*cp == 'e' || *cp == 'E') |
| 83 |
– |
return(isint(cp+1)); |
| 84 |
– |
return(1); |
| 85 |
– |
} |