#include #include #include int main(int argc, char *argv[]) { if (argc < 2) { errx(EXIT_FAILURE, "Missing filename argument\n"); } int init = 0; FILE *fp = fopen(argv[1], "r+"); if (!fp) { fp = fopen(argv[1], "w+"); init = 1; } if (!fp) { err(EXIT_FAILURE, "Failed to open file\n"); } int counter = 0; if (!init) { fread(&counter, sizeof(int), 1, fp); } counter++; rewind(fp); size_t wrote = fwrite(&counter, sizeof(int), 1, fp); fprintf(stderr, "Wrote %d (%lu bytes)\n", counter, wrote); fclose(fp); return 0; }