У меня есть программа C ++ (Turbo C ++ Ver 3), которые пишут / читают данные в файлы.
при запуске нескольких экземпляров программы и в конкретной точке выполнения, когда два экземпляра программы открываются и записываются в файл одновременно, некоторая информация теряется
if(!filein)
не идеально подходит для этой ситуации. Это проблема с синхронизацией, я думаю,
Есть ли способ проверить, открыт файл или нет, перед выполнением какой-либо операции?
благодарю вас
Если у вас есть повышение, то самый простой / лучший способ — встроить мьютекс в сам файл, используя boost::interprocess::file_lock
(документы)
Других решений пока нет …