1 #include <unistd.h>
2 #include <stdlib.h>
3 #include <stdio.h>
4 #include <string.h>
5 
main(int argc,char ** argv)6 int main(int argc, char **argv)
7 {
8 FILE *fd;
9 char buf[80];
10 char **dict_word;
11 int i, j, n;
12   if (!argv[1] || !argv[1][0]) return;
13   fd = fopen(argv[1], "r");
14   i = 0;
15   dict_word = NULL;
16   while (fgets(buf, 30, fd)) {
17      n = strlen(buf);
18      if (n>0) --n;
19      if (isspace(buf[n])) buf[n] = '\0';
20      if (n==0) continue;
21      //printf("%s\n", buf);
22      dict_word = (char **)realloc(dict_word, (i+1)*sizeof(char *));
23      dict_word[i] = (char *)strdup(buf);
24      ++i;
25   }
26   fprintf(stderr, "Processed %d words\n", i);
27   for (j=2; j<=15; j++)
28   for (n=0; n<i; n++)
29     if (strlen(dict_word[n])==j) printf("%s\n", dict_word[n]);
30   fclose(fd);
31 }
32