ifstream файл, в который пишет другая программа? - PullRequest
1 голос
/ 08 марта 2012

Что происходит, когда я пытаюсь открыть файл с помощью std::ifstream, когда этот файл записывается другим приложением?

1 Ответ

2 голосов
/ 08 марта 2012

Это зависит от режима обмена, используемого для открытия файла в другой программе.Если используемый вами режим открытия совместим с режимом обмена, вы откроете файл.В противном случае открытие не удастся.Однако C ++ на самом деле не предлагает «режимов совместного использования», поэтому получаемые вами режимы совместного использования будут теми, которые использует реализация вашего поставщика.Если вы действительно хотите контролировать процесс открытия файла, используйте функции, предоставляемые ОС (в данном случае CreateFile).

Поскольку записи из другой программы вступают в силу, выВы сможете прочитать их в своей программе.Если вы также записываете в файл, то ваши записи и записи другой программы могут мешать друг другу, вызывая потерю данных или беспорядочный вывод;не делай этого.

...