**
CFileFind和CFile的使用
**
本文章为,判定文件是否存在. 不存在则会创建指定目录的文件。
同时,文件创建是会写入表格的表头。
FindFile()查找指定目录是否存在并且返回
CString strFileNameCorrectData;
SYSTEMTIME sysLocaltime;
GetLocalTime(&sysLocaltime);
strFileNameCorrectData.Format(_T("D:\\SrcData_OK_NG\\%04i-%02i-%02i"), sysLocaltime.wYear
, sysLocaltime.wMonth, sysLocaltime.wDay);
SHCreateDirectoryExW(NULL, strFileNameCorrectData, NULL);
strFileNameCorrectData += _T("\\data.csv");
int sign(0);
try
{
CFileFind finder;
BOOL bWorking = (bool)finder.FindFile(strFileNameCorrectData);//判断文件是否存在,存在返回true,不存在返回false
if (!bWorking)
{
//AfxMessageBox(_T("目录不存在"));
sign = 1;//标识文件.不存在,创建文件是会加入表头内容
}
CFile LPFile(strFileNameCorrectData, CFile::modeWrite | CFile::modeCreate | CFile::modeNoTruncate);
LPFile.SeekToEnd();//到文件尾
CStringA strbuf;
if (sign == 1)
{
strbuf.Format("时间,");
strbuf.AppendFormat("高度,");
strbuf.AppendFormat("宽度,");
strbuf += ",\r\n";
strbuf.AppendFormat("%04i-%02i-%02i %02i:%02i:%02i,", sysLocaltime.wYear, sysLocaltime.wMonth
, sysLocaltime.wDay, sysLocaltime.wHour, sysLocaltime.wMinute, sysLocaltime.wSecond);
}
else
{
strbuf.Format("%04i-%02i-%02i %02i:%02i:%02i,", sysLocaltime.wYear, sysLocaltime.wMonth
, sysLocaltime.wDay, sysLocaltime.wHour, sysLocaltime.wMinute, sysLocaltime.wSecond);
}
strbuf.AppendFormat("%.04f,", set_value_w);//set_value_w为写入的内容
strbuf.AppendFormat("%.04f,", value_www);// value_www为写入的内容
strbuf += ",\r\n";
LPFile.Write(strbuf.GetString(), strbuf.GetLength());//写入
LPFile.Close();
}
catch (CException* e)
{
TCHAR szCause[255];
CString strFormatted;
e->GetErrorMessage(szCause, 255);
}