So if we take this ability of getting a character and we loop it-- so we continue to get characters from a file over and over and over-- now we can read every single character of a file.
And if we print every character immediately after we read it, we have now read from a file and printed its contents to the screen. We've effectively concatenated that file on the screen. And that's what the Linux command cat does. If you type cat in the file name, it will print out the entire contents of the file in your terminal window.
And so this little loop here, only three lines of code, but it effectively duplicates the Linux command cat.
EOF is a special value that's defined in standard io.h, which is the end of file character.