This is code from the original copy.c program that will later be used in resize.
An fseek call will cause the file pointer to change position in a file. You should google it and study the details.
In this case, the fseek call will cause the file pointer for the input file to skip over the padding in the input file. If you were just copying the data from input file to output file, this wouldn't be necessary. You could just keep copying data. BUT, in resize, the padding size of the input file may be different than the output file.
So, when outputting the new file's padding, no matter what size, you need to write the correct number of bytes for the padding to the output file. In the loop, the fputc call writes out exactly 1 byte, while the for loop controls how many times that happens, thus writing out the correct number of bytes.
If this answers your question, please click on the check mark to accept. Let's keep up on forum maintenance. ;-)