The program flow is simple. First, get the names of the input files.
The main part of the program reads the real and imaginary parts buffer by buffer and assembles and writes out the complex input.