У меня есть приложение C ++, которое использует std :: ifstream для открытия файлов. Обычно, если файл заблокирован или используется другим процессом, вызов Open () возвращается, и я могу проверить, успешно ли файл открыт, используя is_open (). < /P>
Однако я сталкиваюсь с редкой проблемой:
около 4–5 раз в неделю, одна из моих программ висит при вызове ifstream :: open (). Функция open () никогда не возвращается. При анализе его в Visual Studio показано, что что -то заблокировано в другой ветке. Структуры данных (например, с помощью плохих записей памяти или недействительных
указателей)?
Подробнее здесь: https://stackoverflow.com/questions/790 ... -file-open