Очистка файлов fopen (), открытых в режиме обновления, между операциями чтения и записи. Требуется явная очистка?

Я прочитал это о переключении между операциями чтения и записи (и наоборот) для файлов, открытых для обновления с помощьюfopen() (ССЫЛКА)

«Для файлов, открытых для обновления (те, которые содержат знак« + »), для которых разрешены как операции ввода, так и вывода, поток должен быть очищен (fflush) или перемещен (fseek, fsetpos, rewind) между операциями записи, за которыми следует операцией чтения или операцией чтения, которая не достигла конца файла, за которой следует операция записи ".

Есть две вещи, упомянутые здесь, которые я хотел бы выделить

поток должен быть очищен (fflush) или изменен (fseek, fsetpos, rewind)между операцией записи, сопровождаемой операцией чтенияили операция чтения, которая не достигла конца файла, сопровождаемая операцией записи.

1) Что касается первого пункта, мыэксплицитно необходимо выполнить очистку между операцией записи и чтения. Я имею в виду, предположим, если мы намереваемся записать в новый файл, а затем прочитать его обратно. В этом случае с помощьюfseek() или жеrewind() чтобы получить начало файла после записи, имеет смысл, и в качестве побочного эффекта он очистит буфер. Но я хочу знать, что произойдет, если мы обновляем / перезаписываем первую часть уже существующий файл с новыми данными, но как только мы это сделаем, мы хотимнемедленно начните читать оставшиеся старые данные с этой точки? Нужно ли использовать что-то вродеfseek(pFile,0,SEEK_CUR) так что мы очищаем буфер дляwrite-read переход, и в то же время не меняет положение указателя файла? Такая же путаница возникает и со вторым сценарием, когда мы хотим прочитать первую половину файла, исразу после этого хочу начать писать там. Пожалуйста, ответьте на это.

2) Вторая часть оreading operation which did not reach the end-of-file Кажется, подразумевается, что если операция чтения достигает конца файла и мы намереваемся записать после этого, нам не нужно очищать буфер для этогоread-write переход. Можете ли вы подтвердить это, что это значит? Толькоwrite-read переход нуждается в промывке, а неread-write переход, особенно если чтение достигло конца файла?

Ответы на вопрос(1)

Ваш ответ на вопрос