/* echofirstword.c * Neal Nelson 2009.10.02 * * Echo first word of a line and strip leading spaces. * Use a copy buffer provided by the caller. * */ #include #define MAXLINE 80 main() { char buf[MAXLINE]; char word[MAXLINE+1]; while (fgets(buf, MAXLINE, stdin) != NULL ) { getArg(buf,word); printf ("%s\n", word); } } getArg(char *buf, char *word) { char* p; int i; for (p = buf; isspace(*p); p++); /* skip leading spaces */ for ( ; !isspace(*p) && *p != '\0'; p++) /* get first word */ { *word++ = *p; } *word = '\0'; }