MFC记录式文件的读写
来源:互联网 发布:java 垃圾回收面试题 编辑:程序博客网 时间:2024/06/04 19:30
//创建
dataFileTemp.Open(strPathTemp,CFile::modeCreate|CFile::modeWrite);
dataFileTemp.SeekToBegin();
//关闭
dataFileTemp.Close();
//打开
if(dataFileTemp.Open(strPathTemp,CFile::modeWrite))
{
dataFileTemp.SeekToEnd();
//写入
dataFileTemp.Write(&g_TestDatas, sizeof(g_TestDatas));
dataFileTemp.Close();
}
//删除
dataFileTemp.Remove(strPathTemp);
*******************************************************定位读写****************************************************
typedef struct tagTestDatas
{
tagTestDatas()
{
dTemperature = 0;
dHumidity = 0;
dEnvHumidity = 0;
dFlowRate = 0;
dOxyAD = 0;
dOTR = 0;
dppm = 0;
dtime = 0;
dValtage = 0;
dVsteam = 0;
dZeroppm = 0;
}
double dTemperature;
double dHumidity;//上腔湿度
double dEnvHumidity;//环境湿度
double dFlowRate;
double dOxyAD;
double dOTR;
double dppm;
double dtime;
double dValtage;
double dVsteam;
double dZeroppm;
double dStandardOTR;;
} TESTDATAS;
//
void CDetailedDataDlg::OnBnClickedButton1()
{
DOUBLE dvalue = 0;
CString strText;
TESTDATAS data;
CFile dataFile;
dataFile.Open(strFileNameCur,CFile::modeRead);
int nRecord = dataFile.GetLength()/sizeof(data);
int i=0;
//重新定位
int CurRecNum;
int CurRec;
int totalRec=0;
if(nRecord % 1000!=0)
totalRec=nRecord / 1000+1;
else
totalRec=nRecord / 1000;
if (m_RecordNum/sizeof(data)==nRecord)
{
CurRecNum=m_RecordNum-(1000+nRecord % 1000)*sizeof(data);
GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE);
CurRec=totalRec-1;
}
else
{
CurRecNum=m_RecordNum-2000*sizeof(data);
if (CurRecNum==0)
{
GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
CurRec=1;
}
else
{
CurRec=CurRecNum/sizeof(data)/1000+1;
}
}
//文件绝对定位
dataFile.Seek(CurRecNum,CFile::begin);
CString strRec;
strRec.Format(_T("%d/%d"),CurRec,totalRec);
if (CurRec==1)
{
GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
}
GetDlgItem(IDC_STATIC1)->SetWindowText(strRec);
m_RecordNum=CurRecNum+1000*sizeof(data);
int j=CurRecNum/sizeof(data);
//下一页可用
GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE);
m_DataList.DeleteAllItems();
for(i=0; i<1000; i++)
{
dataFile.Read(&data,sizeof(data));
j++;
strText.Format(_T("%d"), j);
m_DataList.InsertItem(i, strText);
dvalue = data.dTemperature;
strText.Format(_T("%.1f"),dvalue);
m_DataList.SetItemText(i, 1, strText);
}
dataFile.Close();
UpdateData(FALSE);
}
- MFC记录式文件的读写
- MFC文件的读写
- MFC文件的读写操作
- MFC 文件操作1 文件的读写
- MFC中可用的读写文件操作
- MFC 进行CSV文件的读写
- MFC CFileDialog + 对文件的读写操作
- MFC之文件的创建与读写
- MFC的序列化操作文件读写
- mfc 读写 XML文件
- MFC文件读写
- MFC 读写文件
- MFC文件读写技巧
- MFC读写XML文件
- MFC INI文件读写
- MFC文件普通读写
- MFC文件读写
- MFC文件读写
- 东子破解的第一天
- modbus16单独函数类,DSP串口通信,F28335
- javascript静态局部变量
- PHP Smarty环境配置
- DirectX组件之---开始DirectShow旅程
- MFC记录式文件的读写
- FS_11C14平台ZigBee点对点通信
- 栈区和堆区内存分配区别
- MongoDB基于GridFS存储文件
- 【人生】程序员装逼指南----速成篇
- Learn Autosys - A Job Scheduling Tool
- 设计师在SEO发展中过程中的规范问题
- PHP中的面向对象总结
- 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理