/*
 * Copyright ©2026 Soham Pardeshi. All rights reserved.
 * Permission is hereby granted to students registered for University of
 * Washington CSE 333 for use solely during Summer Quarter 2026 for
 * purposes of the course. No other use, copying, distribution, or
 * modification is permitted without prior written consent. Copyrights
 * for third-party components of this work must be honored. Instructors
 * interested in reusing these course materials should contact the author.
 */

#include <stdio.h>   // fopen, setbuf, fwrite, perror, fclose
#include <stdlib.h>  // NULL, EXIT_FAILURE, EXIT_SUCCESS

int main(int argc, char** argv) {
  FILE* fout = fopen("test.txt", "wb");
  setbuf(fout, NULL);  // buffering OFF

  // write "hi" one char at a time
  if (fwrite("h", sizeof(char), 1, fout) < 1) {
    perror("fwrite failed");
    fclose(fout);
    return EXIT_FAILURE;
  }
  if (fwrite("i", sizeof(char), 1, fout) < 1) {
    perror("fwrite failed");
    fclose(fout);
    return EXIT_FAILURE;
  }

  fclose(fout);
  return EXIT_SUCCESS;
}