У меня есть библиотека C ++, которая использует tmpnam(NULL)
создать временный файл.
Мне нужно взломать это, потому что он делает временный файл в корневой папке («c:» или «/»), и поэтому ему нужны административные привилегии.
Как я могу изменить эту функцию с другой, используя правильный временный путь?
Благодарю.
Хоть tmpnam
возвращает имя файла, предварительно добавленное /
— это фактически обозначает уникальное имя файла в текущем каталоге, а не /
или же c:\
, Так что вы можете chdir
в любой другой каталог перед звонком tmpnam
найти уникальное имя файла для этого каталога.
Вы также можете позвонить tempnam
вместо tmpnam
который позволяет принимать имя каталога в качестве входных данных.
Других решений пока нет …