You forgot one important step. After you generate each horizontal line, you correctly fseek back to the beginning of the input line to repeat the process. However, after you have done this n times, you need to also move FORWARD in the input file to the next line to be processed.
Put an fseek() just after and outside the m loop and at the bottom of the i loop. That should reposition the input pointer to the beginning of the next line for scaling up.
But if you really want to punch your laptop, just throw it out the window instead. Let me know when, so I can catch it. ;-)
If this answers your question, please click on the check to accept. Let's keep up on forum housekeeping. ;-)