保存并给文件命名的问题?

来源:百度知道 编辑:UC知道 时间:2024/06/11 03:14:15
现在视频图像显示在对话框中,我现在需要截图并保存图片,现在可以保存,但是保存一个就会覆盖上一个,因为文件名一样,现在想把图片命名为 '一个变量的值.jpg' 这个变量是变化的,这样就不会覆盖了,这样想可不可以? 能不能实现? 请问 ,应该怎么写这段代码?
我比较菜,哪位有时间我可以发给你代码,帮忙改一下~ 谢谢!
命名的这段代码应该怎么写?
我程序里有这段,是保存的吗?
/* save ? */
if (pThis->m_fIsSave)
{
pThis->m_fIsSave = FALSE;

pThis->MakeJpeg(TEXT("12.jpg"), lpJpgBuffer, dwRtnSize[1]);
}

把这个函数放到你程序里,然后这样用,strFileName的值就是文件名,
CString strFileName = AutoFileName();
pThis->MakeJpeg(strFileName,lpJpgBuffer, dwRtnSize[1]);

CString AutoFileName()
{
SYSTEMTIME SysTime;
GetSystemTime(&SysTime);
CString csFileName;
csFileName.Format(L"P%02d%02d%02d%02d%02d%02d%01d.jpg",
SysTime.wYear%100,SysTime.wMonth,SysTime.wDay,SysTime.wHour,SysTime.wMinute,SysTime.wSecond,(SysTime.wMilliseconds/100)%10);
return csFileName;
}

可以用日期+时间来作为文件名,精确到秒,自己用应该不会重名

你可以将你的文件名取成固定文字+数字的形式。每次保存前,检索要保存的目录下是否为文字+数字的文件,如果有,就将数字加1并关闭刚打开的文件。直到没有这个文件。使用WINDOWS API CreateFile 其中dwCreationDisposition参数一定要传OPEN_EXISTING。