c++怎么将mfc编辑框中的数据保存到txt文件中(高手详细指导一下,谢了!)
c++如何将mfc编辑框中的数据保存到txt文件中(高手详细指导一下,谢了!)
我是新手,刚编了一个mfc接受并显示数据的程序,程序如下:
LONG CSerialPortTestDlg::OnComm(WPARAM ch, LPARAM port)
{
INT temp;
// UINT Hbyte,Lbyte;
//INT i=0;
i++;
if (i==1)
{
Hbyte=ch;
}
if (i==2)
{
Lbyte=ch;
temp = Hbyte;
temp = temp << 8; //高八位
temp |= Lbyte; //低八位
CString hexCh;
hexCh.Format(TEXT("%.2f "), ((temp*10.0/4095.0-5.0)*1000.0*3/5.0));
m_strEditReceiveMsg += hexCh;
i=0;
}
UpdateData(FALSE);
return 0;
为了让编辑框中只显示一个数据,我想把+=换成=,应该可以实现这个功能吧?
另外我想把编辑框中的数据保存到txt文本中,麻烦各位高手指导一下!谢谢了!我没有搜到相关的资料,谢谢大家指点了!
------解决方案--------------------
CFile file;
file.Open();
file.Write();
------解决方案--------------------
------解决方案--------------------
CFile是MFC文件类的基类,它直接提供非缓冲的二进制磁盘输入/输出设备,并直接地通过派生类支持文本文件和内存文件。CFile与CArchive类共同使用,支持MFC对象的串行化 Open(); 和Write();都是类的成员函数 Open是打开你所要保存的文件 Write是写入内容
------解决方案--------------------
CFile file;
file.Open( "D:\\1.txt ",cfile::modeReadWrite);
CString str = _T( " ");
m_Edit.GetWindowText(str);//编辑框控件的control的绑定变量
我是新手,刚编了一个mfc接受并显示数据的程序,程序如下:
LONG CSerialPortTestDlg::OnComm(WPARAM ch, LPARAM port)
{
INT temp;
// UINT Hbyte,Lbyte;
//INT i=0;
i++;
if (i==1)
{
Hbyte=ch;
}
if (i==2)
{
Lbyte=ch;
temp = Hbyte;
temp = temp << 8; //高八位
temp |= Lbyte; //低八位
CString hexCh;
hexCh.Format(TEXT("%.2f "), ((temp*10.0/4095.0-5.0)*1000.0*3/5.0));
m_strEditReceiveMsg += hexCh;
i=0;
}
UpdateData(FALSE);
return 0;
为了让编辑框中只显示一个数据,我想把+=换成=,应该可以实现这个功能吧?
另外我想把编辑框中的数据保存到txt文本中,麻烦各位高手指导一下!谢谢了!我没有搜到相关的资料,谢谢大家指点了!
------解决方案--------------------
CFile file;
file.Open();
file.Write();
------解决方案--------------------
/****************************************************************************
获取文本框选择的文本
****************************************************************************/
static
string GetEditSelectText(HWND hWnd)
{
string str;
int start,end;
::SendMessage(hWnd,EM_GETSEL,(WPARAM)&start,(LPARAM)&end);
if (start==end) return str;
//获取窗口的字符串
int len=::SendMessage(hWnd,WM_GETTEXTLENGTH,0,0);
TCHAR* WindowText=new TCHAR[(len+1)*sizeof(TCHAR)];
::GetWindowText(hWnd,WindowText,len+1); //GetWindowText会自动添加NULL结束符
WindowText[end]=NULL;
str=WindowText+start;
delete[] WindowText;
return str;
}
/****************************************************************************
保存文件。
****************************************************************************/
static
bool SaveFileString(string& str,const TCHAR* FilePath)
{
FILE* fp = __fopen(FilePath, _T("wb"));
if (!fp)
return false;
int len=str.size();
fwrite(str.c_str(),1,len,fp);
fclose(fp);
return true;
}
调用:
string str=GetEditSelectText(hWnd);
SaveFileString(str,"c:\\a.txt");
------解决方案--------------------
CFile是MFC文件类的基类,它直接提供非缓冲的二进制磁盘输入/输出设备,并直接地通过派生类支持文本文件和内存文件。CFile与CArchive类共同使用,支持MFC对象的串行化 Open(); 和Write();都是类的成员函数 Open是打开你所要保存的文件 Write是写入内容
------解决方案--------------------
CFile file;
file.Open( "D:\\1.txt ",cfile::modeReadWrite);
CString str = _T( " ");
m_Edit.GetWindowText(str);//编辑框控件的control的绑定变量