Каждый открытый файл имеет связанную позицию. Когда вы читаете (), вы читаете с этой позиции. Например, read(10)
считывает первые 10 байт из вновь открытого файла, затем другой read(10)
считывает следующие 10 байтов. read()
без аргументов считывает все содержимое файла, оставляя позицию файла в конце файла. В следующий раз, когда вы вызываете read()
, читать нечего.
Вы можете использовать seek
для перемещения позиции файла. Или, вероятно, лучше в вашем случае было бы сделать один read()
и сохранить результат для обоих поисков.