terminal-animation/intro2.c

44 lines
835 B
C

#include <string.h>
#include <stdio.h>
#include <unistd.h>
#define RATE 50 // 2400 baud
int main(int argc, char **argv)
{
printf("%s", "\033[2J"); /* Clears the screen */
// char buffer[255];
//char *b = buffer;
//size_t bufsize = 255;
int count = 0;
char ch;
FILE *fp;
if (argc < 2) {
fprintf(stderr, "%s\n", "No input file");
return 1;
}
fp = fopen(argv[1], "r");
while (!feof(fp)) {
if ( count == RATE) {
sleep(1);
count = 0;
}
int cols = 0;
ch = getc(fp);
printf("%s", "\033[1C");
cols++;
if (cols == 80) {
cols = 0;
printf("%s", "\033[1B");
}
if (ch == '\n') {
printf("%s", "\033[1E");
}
putchar(ch);
count++;
}
return 0;
}