Моему приложению C ++ winAPI необходимо создать временный файл перед его загрузкой на сервер.Итак, я искал способы создания временного файла и обнаружил, что есть много способов сделать это.
Можете ли вы сказать мне: Для каждого из следующих методов ниже, в каком сценарии ядолжен использовать этот метод?И какой метод лучше всего подходит для моих нужд?
Метод 1:
// Using CreateFile()
CreateFile( "myfile.txt", GENERIC_ALL, ..., FILE_ATTRIBUTE_TEMPORARY, 0); // removed unecessary parameters
Метод 2:
// I think that GetTempFileName also creates the file doesn't it? Not just generates a unique fileName?
// Gets the temp path env string (no guarantee it's a valid path).
dwRetVal = GetTempPath(MAX_PATH, // length of the buffer
lpTempPathBuffer); // buffer for path
// Generates a temporary file name.
uRetVal = GetTempFileName(lpTempPathBuffer, // directory for tmp files
TEXT("DEMO"), // temp file name prefix
0, // create unique name
szTempFileName); // buffer for name
Метод 3:
// Create a file & use the flag DELETE_ON_CLOSE. So its a temporary file that will delete when the last HANDLE to it closes
HANDLE h_file = CreateFile( tmpfilename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_DELETE_ON_CLOSE, NULL );
Почему существует более 1 способа создания временного файла.И, например, в какой ситуации я хотел бы использовать, скажем, метод 2 вместо метода 1?