69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <time.h>
int main()
{
time_t t;
struct tm *p;
FILE *fp = NULL;
char fname[256] = {0};
t = time(NULL);
p = gmtime(&t);
sprintf(fname, "%d-%d-%d.txt",1900+p->tm_year,1+p->tm_mon, \
p->tm_mday);
printf("%s\n", fname);
if((fp = fopen(fname, "w+")) == NULL)
perror("");
fclose(fp);
return 0;
}
CFileException e;
// CDialog::OnOK();
char pFileName[30];
COleDateTime timeNow, dateNow;
timeNow = COleDateTime::GetCurrentTime(); // 获取当前日期时间
dateNow = COleDateTime::GetCurrentTime(); // 同样获取当前日期时间,这么写只是为了清晰
CString sTime = timeNow.Format(VAR_TIMEVALUEONLY); // 获取当前时间
CString sDate = dateNow.Format(VAR_DATEVALUEONLY); // 获取当前日期
CString FileName = sDate + "_" + sTime + ".txt"; // 文件名 = 日期_时间.txt
int fileNameLength = FileName.GetLength(); // 获得文件名长度,CFile不能用CString,只能用string做参数,要做转换
for(int i=0; i < fileNameLength ; i++)
{
pFileName[i] = FileName.GetAt(i); // CString -> string
if( pFileName[i] == ':') // 剔除':'等不能作为文件名的符号
pFileName[i] = '-';
}
pFileName[i] = '\0'; // 文件名结束,一定要加,不然有错
CFile f;
if( !f.Open( pFileName, CFile::modeCreate | CFile::modeWrite, &e ) ) // 通过CFile的class member建立文件
{
AfxMessageBox("File can't be opened.");
}
return;