读写TXT文件,写入和输出必须统一格式
CStdioFile
myFile,
File
if(myFile.Open(CBApp::getCurrModulePath()+_T("filename.txt"),
CFile::modeRead))
{
//读取
myFile.ReadString(str)
myFile.Close()
}
else
{
//创建
File.Open(CBApp::getCurrModulePath()+_T("filename.txt"),
CFile::modeWrite
|
CFile::modeCreate)
File.WriteString(sFileName)
File.Close()
}
//写入
File.Open(CBApp::getCurrModulePath()+_T("filename.txt"),
CFile::modeWrite
)
File.WriteString(sFileName)
File.Close()
我写了一个。
界面一个文本框两个按钮,文本框关联一个CString型变量m_Data,设置属性为Vertical scroll和Want return。
两个按钮对应的读写函数分别如下
void CFileTxtDlg::OnRead()
{
// TODO: Add your control notification handler code here
CFileDialog fDlg(TRUE)
fDlg.m_ofn.lpstrFilter = "Text Files(*.txt)\0*.txt\0\0"
if(fDlg.DoModal() == IDOK)
{
CStdioFile stdFile
stdFile.Open(fDlg.GetPathName(), CFile::modeRead | CFile::typeBinary)
DWORD fileLen = stdFile.GetLength()
char *pBuf = new char[fileLen + 1]
pBuf[fileLen] = 0
stdFile.Read(pBuf, fileLen)
UpdateData()
m_Data = pBuf
UpdateData(FALSE)
delete pBuf
stdFile.Close()
}
}
void CFileTxtDlg::OnWrite()
{
// TODO: Add your control notification handler code here
UpdateData()
CFileDialog fDlg(FALSE)
fDlg.m_ofn.lpstrFilter = "Text Files(*.txt)\0*.txt\0\0"
fDlg.m_ofn.lpstrDefExt = "txt"
if(IDOK == fDlg.DoModal())
{
CStdioFile stdFile
stdFile.Open(fDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite | CFile::typeBinary)
stdFile.WriteString(m_Data)
stdFile.Close()
}
}
如要源代码发消息
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)