创建以系统时间为文件名的文件
// time_file.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "atlstr.h"#include <stdio.h>#include <stddef.h>#include <time.h>#include <windows.h>#include <cstring>using namespace std;int _tmain(int argc, _TCHAR* argv[]){time_t t;t = time(NULL);struct tm* ptm;ptm = localtime(&t);CString strPath;CString strDic;strDic.Format("%s", "D:\\test_pic\\");strPath.Format("%s_%d%02d%02d%02d%02d%02d%s", "V10", ptm->tm_year+1900, ptm->tm_mon+1, ptm->tm_mday,ptm->tm_hour, ptm->tm_min, ptm->tm_sec, ".txt");strPath = strDic+strPath;//testchar lpBuffer[1024]= "abcedef";int fileReturned = strlen(lpBuffer);DWORD FileSaveReturned= 0;SECURITY_ATTRIBUTES sa;SECURITY_DESCRIPTOR sd;InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION);SetSecurityDescriptorDacl(&sd,TRUE,NULL,FALSE);sa.nLength = sizeof(SECURITY_ATTRIBUTES);sa.bInheritHandle = TRUE;sa.lpSecurityDescriptor = &sd;CreateDirectory((LPCTSTR)"D:\\test_pic\\", &sa );HANDLE hFile = CreateFile ( (LPCTSTR)strPath,GENERIC_READ | GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL );if ( hFile != INVALID_HANDLE_VALUE ){WriteFile(hFile, lpBuffer, fileReturned, &FileSaveReturned, NULL);CloseHandle(hFile);}return 0;}/***其中CreateFile不能在指定目录下创建文件,用以上源码为例,当无D:\\test_pic目录时,CeateFile返回的句柄为空,但是如果有此目录,就能够正常调用。*所以,应该在CreateFile之间创建D:\\test_pic目录。*注:此源码在VS2010下运行通过。**/