I'm attempting to create a game of life program in C, but i'm not very familiar with a process to update the output displayed on the terminal.
So, for example, I will have a 2d char array, where each element will contain either a '#' or a '-'. I will print this array onto the screen, but rather than printing a new 2d array every time there is a state change, I want to overwrite the old array in the terminal with the new state.
I have looked for ways to do this, but haven't had much luck. The closest I have found is a carriage return in the printf function (\r), but hopefully someone can tell me the best way to do this.
Specifically, how could I print out a 2d array on the screen, change the elements of the array, and print out the new array ON TOP of the old one, ie, overwrite it.
You can try something like this:
Not sure if I really answered your question. And if this is not your answer then you are definitely looking for something like ncurses.
(some of these links, code snippets are Linux, and others are Windows)
Given your specific questions, (and assuming you do know how to write an array to the console) :
1) write the first array.
2) Then Clear The Console (or over write the console)
Something like this:
Or write the following to stdout: (Linux)
which is what /usr/bin/clear does except it does not create another process.
Or both:
More Options Here
3) write the next array