isspace()を使って書き換えてみた。

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(int argc, char **argv)
{
char line[BUFSIZ];
FILE *fp;

if ((fp = fopen(argv[1],"r")) != NULL) {
while (fgets(line, BUFSIZ, fp) != NULL) {
int i = 0;
while (isspace(line[i])) i++;
if (line[i] == '\0')
continue;
printf("%s", line);
}
} else exit(1);
return 0;
}