16,465
社区成员
发帖
与我相关
我的任务
分享
/**
* Logging.
*
* @param lpszFileDir - 日志文件保存目录,如D:, D:\\test, D:\\log等
* @param lpszContent - 要写入当天日志文件的内容.
* @return void.
* @remark
* 这个函数是根据当前系统日期生成指定格式文件名的txt文件,只要日期不变,文件名
* 就是一样的,所以当天的日志全部写入当天对应文件名的文件,第二天日期一变,文件名就
* 跟着变了,就会创建新文件,文件名对应当天日期.
*/
void Log(LPCTSTR lpszFileDir, LPCTSTR lpszContent)
{
CTime tm = CTime::GetCurrentTime();
CString strFileName;
strFileName.Format(_T("log%04d%02d%02d.txt"), tm.GetYear(), tm.GetMonth(), tm.GetDay());
CString strFilePath;
strFilePath += lpszFileDir;
strFilePath += _T("\\");
strFilePath += strFileName;
CStdioFile file;
if(file.Open(strFilePath, CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite))
{
file.SeekToEnd();
file.WriteString(lpszContent);
file.WriteString(_T("\n"));
file.Close();
}
}
经典的串口接收数据的例子如下: 1.在头文件中声明存储数据的数组和记录数据的文件地址 BYTE rxdata[4096]; //设置BYTE数组 An 8-bit integerthat is not signed. CFile m_file(_T("data.txt"),CFile::modeCreate|CFile::modeWrite); 2.写MScomm232的接收事件(记得接收事件的ID应该是2吧)void COperation::OnCommMscomm1()//串口接收数据并处理 { int nEvent=m_Comm.get_CommEvent();//得到事件 switch(nEvent) { case 2://接收数据事件 { VARIANT variant_inp; COleSafeArray safearray_inp; long len,k; //-------------接收数据并进行处理---------------// k=m_Comm.get_InBufferCount();//接收缓冲区字符数 if(k>0) { variant_inp=m_Comm.get_Input(); //读缓冲区 safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量 len=safearray_inp.GetOneDimSize(); //得到有效数据长度 for(k=0;k<len;k++) safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组,存入rxdata } //-------------写入文本文件---------------// for (int j=0;j<len;j++) { temp.Format(_T("%0x"),rxdata[j]); mydata += temp; mydata += " ";//隔开两个位置; } mydata += "\r\n"; m_file.Write(mydata,mydata.GetLength());//写到文件中 mydata = "";//清空 } default: break; } }
CString cstrSaveFilePath;
cstrSaveFilePath = m_cstrSaveOBpath + _T("\\HotPoint_") + cstrViewName +_T(".txt");
if(!saveHotFile.Open(cstrSaveFilePath, CFile::modeWrite|CFile::modeCreate, &err))
{
err.ReportError();
return FALSE;
}
CString cstrHead = _T("Longitude\tLatitude\tTraffic In Grid\n"); //列头
saveHotFile.WriteString(cstrHead); //输出列头
std::map<DWORD,OptimizedBaseOut>::iterator iter = newSiteResult.hotSpotSet.begin();
for(; iter!= newSiteResult.hotSpotSet.end(); iter++) //循环写内容
{
CString strLine;
strLine.Format("%0.6f\t%0.6f\t%0.2f\n", iter->second.dLongitude, iter->second.dLatitude,iter->second.fWeight);
saveHotFile.WriteString(strLine);
}
saveHotFile.Close();
上段代码,楼主就懂 C/C++ code?12345678910111213141516171819CString cstrSaveFilePath; cstrSaveFilePath = m_cstrSaveOBpath + _T("\\HotPoint_") + cstrViewName +_T(".txt"); if(!saveHo……