Функция tmpfile
является стандартной C и предназначена для создания временных файлов некоторым абстрактным способом, о котором программе не должно заботиться. Если эти файлы даже имеют местоположения (в них нет необходимости) в файловой системе, местоположение должно быть таким, которое подходит для временных файлов.
Кажется, MSV C реализация tmpfile
содержит ошибки и пытается поместить файлы в "C:\"
по техническим причинам. Если вы будете строить на MSV C, вам нужно либо использовать другую нестандартную функцию, либо добавить замену, чтобы решить проблему, сначала создав файл безопасно в допустимом месте для временных файлов, а затем позвонив на него fopen
.
Возможно, это можно исправить, установив переменную среды, но если она не работает по умолчанию, это, вероятно, не подходящее исправление для программы, которую вы хотите развернуть / отправить.