36 std::string unique_tmp_filename (
const char *prefix=
"cub_")
39 std::string filename = std::filesystem::temp_directory_path ();
45 char buf[L_tmpnam] = {};
46 std::string filename = std::tmpnam (buf);
47 auto pos = filename.rfind (
'\\');
48 filename.insert (pos+1, prefix);
58 char filename[PATH_MAX] = {};
59 snprintf (filename,
sizeof (filename),
"%s", unique_tmp_filename (prefix).c_str());
60 auto filedesc = mkostemp (filename, flags);
62 auto filename = unique_tmp_filename (prefix);
63 auto filedesc = _open (filename.c_str(), _O_CREAT|_O_EXCL|_O_RDWR|flags);
65 return {filename, filedesc};
72 char filename[PATH_MAX] = {};
73 snprintf (filename,
sizeof (filename),
"%s", unique_tmp_filename (prefix).c_str());
74 auto filedesc = mkostemp (filename, flags);
75 FILE *fileptr = fdopen (filedesc, mode);
77 auto filename = unique_tmp_filename (prefix);
78 auto *fileptr = fopen (filename.c_str(),
mode);
80 return {filename, fileptr};
static enum scanner_mode mode
std::pair< std::string, FILE * > open_temp_file(const char *prefix, const char *mode="w", int flags=0)
std::pair< std::string, int > open_temp_filedes(const char *prefix, int flags=0)