mfc将显示在edit control控件中的内容输出到文本

CFile m_File;

CString FileName;

CString strTemp;

CEdit *p_edit;
int i = 0;
int j = 0;
int ilen = 0;
int iCnt = 0;



CTime t = CTime::GetCurrentTime();
FileName = t.Format("%Y-%m-%d-%H-%M-%S");
FileName += _T(".txt"); //使用系统日期作为文件名

p_edit = (CEdit*)GetDlgItem(IDC_EDIT_RECEIVE);

if (m_File.Open(FileName, CFile::modeCreate | CFile::modeWrite))
{
iCnt = p_edit->GetLineCount(); //取得edit控件中有多少行
for (i = 0; i < iCnt; i++) //按每行输出到文本中
{
strTemp.Empty();
ilen = p_edit->LineLength(i); //第i行的长度
if (ilen == 0)
{
continue;
}
p_edit->GetLine(i, strTemp.GetBuffer(p_edit->LineLength(i)), ilen); //第i行的串给strTemp
strTemp.ReleaseBuffer();

ilen = strTemp.GetLength();
strTemp = strTemp.Left(ilen);
for (j = 0; j < ilen; j++) //加这个的目的是因为strTemp的长度超过16个字符输出只有前16个字符,因此改用一个字符一个字符输出,自己都觉得愚
{
CString ch = strTemp.Mid(j,1);
m_File.Write(ch, 1); //为什么写的时候长度>16会丢字符,如果有好建议欢迎留言
}

}
m_File.Close();
}

你可能感兴趣的:(mfc将显示在edit control控件中的内容输出到文本)