void CCalenderDlg::OnBtnSave()
{
// TODO: Add your control notification handler code here
CString filename;
UINT index = m_listTitle.GetCurSel();
m_listTitle.GetText(index, filename);
CString str;
str.Format("%s%s%s",".\\memo\\",filename,".txt");
AfxMessageBox(str);
CFile myFile;
if(!myFile.Open(str, CFile::modeCreate | CFile::modeReadWrite ))
AfxMessageBox("wrong : could not create new file");
int lineCount = m_EditRecord.GetLineCount();
CString text;
for(int i=0; i<lineCount; i++)
{
CString temp;
int lineLenth = m_EditRecord.LineLength(i);
m_EditRecord.GetLine(i, temp.GetBuffer(lineLenth));
text += temp;
text += "\r\n";
}
myFile.Write(text, sizeof(text));
}能成功的创建文件,就是文件内容是空的
myFile.Close();
文件没有关闭
所以,有两个错误!
看看text里面的内容是什么?
{
// TODO: Add your control notification handler code here
CString filename;
UINT index = m_listTitle.GetCurSel();
m_listTitle.GetText(index, filename);
CString str;
str.Format("%s%s%s",".\\memo\\",filename,".txt");
AfxMessageBox(str);
CFile myFile;
if(!myFile.Open(str, CFile::modeCreate | CFile::modeReadWrite ))
{
AfxMessageBox("wrong : could not create new file");
return;//返回
}
int lineCount = m_EditRecord.GetLineCount();
CString text;
for(int i=0; i<lineCount; i++)
{
CString temp;
int lineLenth = m_EditRecord.LineLength(i);
m_EditRecord.GetLine(i, temp.GetBuffer(lineLenth));//temp未赋值
//如果m_EditRecord.GetLine是取数据,第二个参数应该为CString &
//否则下面的temp为"".
text += temp;
text += "\r\n";
}
myFile.Write(text, sizeof(text));//改为 myFile.Write(text, text.GetLength());
myFile.Close();//加上
}
{
// TODO: Add your control notification handler code here
CString filename;
UINT index = m_listTitle.GetCurSel();
m_listTitle.GetText(index, filename);
CString str;
str.Format( "%s%s%s ", ".\\memo\\ ",filename, ".txt ");
AfxMessageBox(str);
CFile myFile;
if(!myFile.Open(str, CFile::modeCreate | CFile::modeReadWrite ))
{
AfxMessageBox( "wrong : could not create new file ");
return;//返回
}
int lineCount = m_EditRecord.GetLineCount();
CString text;
for(int i=0; i <lineCount; i++)
{
CString temp;
int lineLenth = m_EditRecord.LineLength(i);
m_EditRecord.GetLine(i, temp.GetBuffer(lineLenth));//temp未赋值
//如果m_EditRecord.GetLine是取数据,第二个参数应该为CString &
//否则下面的temp为 " ".
text += temp;
text += "\r\n ";
}
myFile.Write(text, sizeof(text));//改为 myFile.Write(text, text.GetLength());
myFile.Close();//加上
}
myFile.Close();