创建以系统时间为文件名的文件

// 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;
	//test
	char 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下运行通过。
*
*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值