mfc 的txt文本写入的问题

mfc 的txt文本写入的问题,第1张

fp

=

fopen

(

filename

,

"a")

a为追加写入

"r"

以只读方式打开一个文本文件

不能以该方式打开一个不存在的文件,否则出错。

"w"

以只写方式打开一个文件文件。

若文件不存在,则系统自动建立该文件;

若文件已经存在,则在打开时将该文件删去,然后重新建立一个新文件。

"a"

以向文件末尾添加数据的方式打开一个文本文件。

若文件不存在,则系统自动建立该文件。

"r+"

以读/写方式打开一个已有的文本文件

即,打开文件后,既可对文件进行读 *** 作,又可对文件进行写 *** 作。

"w+"

以读/写方式建立一个新文本文件。

注意"w+"与"r+"的区别,两者都是以读/写方式打开文件,但"r+"方式只能打开一个已有的文件,而"w+"方式可以打开已有的文件(但会删除该文件中的原有内容),也可以打开一个不存在的文件(即建立一个新文件)。

"a+"

以读/写方式打开一个文本文件,对文件的读写 *** 作在文件的末尾进行。

我写了一个。

界面一个文本框两个按钮,文本框关联一个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()

}

}

如要源代码发消息

//写入文件

void CMFCApplication1Dlg::OnBnClickedWriteBtn()

{

// MFC的CFile类写入文件

CFile file(L"1.txt", CFile::modeCreate | CFile::modeWrite )

char *cstr=new char[128]

GetDlgItemTextA(m_hWnd, IDC_EDIT1, cstr,128)

int n = strlen(cstr)

file.Write(cstr,strlen(cstr))

file.Close()

}

//读取文件

void CMFCApplication1Dlg::OnBnClickedReadfileBtn()

{

// MFC的CFile类读取文件

CFile file(L"1.txt", CFile::modeRead)

int n=file.GetLength()

char *pStr = new char[n+1]

file.Read(pStr, n)

pStr[n ] = 0

file.Close()

SetDlgItemTextA(m_hWnd, IDC_EDIT1, pStr)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12112727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存