如何在VC编程里将检测的信号值实现保存到一个txt文件中?要求接收到新的数据不覆盖旧数据
http://blog.csdn.net/datouniao1/article/details/49907097
当然我们将fopen("data.txt","a+");当第二个参数设置为a+的时候就可以将数据追加的写到文件中去,而且不改变原来文件中数据。
n=0;//保存的数据个数
if(num!=0)//如果采集到数据
{
CFileDialog dlg(false,"txt",_T("shuju.txt"),NULL,"Text(*.txt)|*.txt|All Files(*.*)|*.*||",NULL);
//false为保存,"txt",_T("shuju.txt")为默认打开文件名,"Text(*.txt)|*.txt|All Files(*.*)|*.*||"打开文件的类型,NULL是父类窗口
dlg.m_ofn.lpstrTitle=_T("请选择保存路径:");//可供选择的文件类型
if(dlg.DoModal()==IDOK)//如果按下确定按钮
{
strDirFile=dlg.GetPathName();//获取所选择的文件名
CFile file(strDirFile,CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive);//构造文件对象,创建一个新文件,打开文件读与写,不共享;
CArchive ar(&file,CArchive::bNoFlushOnDelete);//创建一个序列化对象ar,并与file关联起来,当归档文件析构程序被调用时,防止归档文件自动调用Flush
UpdateData(true);//更新
for(int i=0;i<=num-1;i++,n++)//写入数据
ar<<dataX[i];
ar.Close();//把缓冲区的数据刷新后放到指定存盘
file.Close();//关闭文件
}
}
如果在你的设计中加入edit框可以把检测前的信息打开文件显示出来,然后你再追加就是CString的+就可以,然后你可以保存进去。c++和c有文件打开
然后追加模式,还有文件指针到末尾的方法。但如果仅仅因为覆盖,不妨加入一个显示的地方,先做打开操作,再进行修改保存,就类似与windows的记事本,打开后,然后修改过保存,只是把当前框内的全部内容直接覆盖了(因为默认是覆盖的)。