#include #include #include #include #define LIM 81 int fgetline (FILE *, char *, int); void rtrim (char *); int main (int argc, char *argv[]) { char line[LIM]; FILE *fitsfile; // Usage if (argc < 2) { printf ("Usage: %s \n", argv[0]); printf ("\n\nOutputs the header of \n"); return 1; } // Open file fitsfile = fopen (argv[1], "r"); // Loop over file and output while (fgetline (fitsfile, line, LIM) > 0) { rtrim (line); printf ("%s\n", line); if (strcmp (line, "END") == 0) break; } // Close file fclose (fitsfile); return 0; } // Read a line of maximum length int lim from file FILE into string s int fgetline (FILE * file, char *s, int lim) { int c, i = 0; while (--lim > 0 && (c = fgetc (file)) != EOF && c != '\n') s[i++] = c; if (c == '\n') s[i++] = c; s[i] = '\0'; return i; } // Removes trailing blanks from string s void rtrim (char *s) { int i, j = 0, n; n = strlen (s); for (i = n; i >= 0; i--) if (s[i] != '\0' && s[i] != '\n') if (!isspace (s[i]) && j == 0) j = i; s[++j] = '\0'; return; }