/* Example: Convert String to Integer Source: K&R2, p43 (see also better version on p.61) Driver: Peter Brusilovsky */ #include #define BUFSIZE 20 /* maximun input line size */ int atoi(char []); /* converts string to int */ int getline(char [], int); /* reads string from input */ void main() { char buf[BUFSIZE]; if (getline(buf, BUFSIZE) > 0) printf("You have entered string %s and it was converted to %d\n", buf, atoi(buf)); } /* atoi: converts s to integer */ int atoi(char s[]) { int i, n; n = 0; for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i) n = 10 * n + (s[i] - '0'); return n; } /* getline: read a line into s, return length */ int getline(char s[], int lim) { int c, i; for (i = 0; i < lim-1 &&(c=getchar())!= EOF && c != '\n'; ++i) s[i] = c; if (c == '\n') { s[i] = c; ++i; } s[i] = '\0'; return i; }