将编辑框的内容保存至文本文件中
目的:将编辑框的内容保存至任意路径下、文件名自定的文本文件中。
UpdateData();
//以下是设置要保存的文件的文件名
OPENFILENAME filename;
ZeroMemory(&filename,sizeof(filename));
filename.lStructSize=sizeof(filename);
filename.hwndOwner=NULL;
filename.lpstrFilter="文本格式(*.TXT)";
filename.Flags=OFN_OVERWRITEPROMPT|OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY;
filename.nMaxCustFilter=100;
filename.lpstrDefExt="txt"; //设定默认扩展名
filename.lpstrTitle="保存信息";
char szFile[MAX_PATH];
szFile[0]='/0';
filename.lpstrFile=szFile;
filename.nMaxFile=sizeof(szFile)/sizeof(*szFile);
if(0==::GetSaveFileName(&filename))
{
return;
}
//如果用户输入了文件名,并且点击了保存按钮,则将编辑框的内容写进文件
else
{
char* pBuffer;
pBuffer=(LPSTR)(LPCTSTR)m_str;
HANDLE hFile = CreateFile(filename.lpstrFile, GENERIC_WRITE, FILE_SHARE_READ,NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE)//如果创建失败
AfxMessageBox(_T("Couldn't create the file!"));
else
{
CFile myFile(hFile);
myFile.Write(pBuffer, lstrlen(pBuffer));
myFile.Close();
}
}