From 56b474e3c63fd29f4b8c22c4ad295c95d9360da0 Mon Sep 17 00:00:00 2001 From: Jeremiah Orians Date: Sat, 3 Sep 2016 21:51:36 -0400 Subject: [PATCH] Added intial high level prototype for basic file pager --- High_level_prototypes/more.c | 38 ++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 High_level_prototypes/more.c diff --git a/High_level_prototypes/more.c b/High_level_prototypes/more.c new file mode 100644 index 0000000..4f0f110 --- /dev/null +++ b/High_level_prototypes/more.c @@ -0,0 +1,38 @@ +#include +#include +#include +#include +#include +char tty_getchar(); + +/* Standard C main program */ +int main(int argc, char **argv) +{ + /* Make sure we have a program tape to run */ + if (argc < 2) + { + fprintf(stderr, "Usage: %s $FileName\nWhere $FileName is the name of the paper tape of the program being run\n", argv[0]); + return EXIT_FAILURE; + } + + FILE* source_file = fopen(argv[1], "r"); + + int c = fgetc(source_file); + int count = 10; + while(EOF != c) + { + fprintf(stdout, "%c", c); + if(10 == c) + { + count = count - 1; + } + if(0 == count) + { + tty_getchar(); + count = 10; + } + c = fgetc(source_file); + } + + exit(EXIT_SUCCESS); +}