我试图通过调用tmpfnam
函数来获取临时文件名并使用它来创建用于写入的文件来在我的 C++ 程序中创建一个临时文件,但是我的代码无法创建临时文件。但是,当我使用用户提供的文件名或字符串常量而不是使用来自tmpfnam
. 这是一个例子:
std::tmpnam(fname); //does not work
std::fstream f(fname,std::ios::out);
char* fname = "myfile.txt"; //works
std::fstream f(fname,std::ios::out);
我检查了案例 2 中的文件是否创建在与源文件相同的目录中,但不是案例 1。我也尝试在管理员权限下运行程序,但仍然没有运气。知道为什么会这样吗?