【高分!!】在vc怎样中,怎样把一个字符串m_strSource 保存为一个文本文件?

建txt文件,并把字符串写入

为什么不先搜一下呢,一搜一大堆,以下是本人网上搜的:

在日常编程中我们经常需要读写TXT格式的文本文件,本人通过上网查找资料,结合自己的编程经验,给出一个简单的处理方法,写出来供大家参考,写的不对的地方希望大家批评指正。
我主要是利用了CStdioFile类的直接读取字符串的特点,大大简化程序的开发。要调用CStdioFile类需要在程序中加载afx.h库文件。

一。 用VC6.0生成基于对话框的程序ReadTxT工程。

二。添加两个按钮“Open File”和 “Save File”。一个CLisiBox列表框。

三。为两个按钮添加消息相应函数,程序如下:

void CReadTXTTestDlg::OnOpenFile()

{

CFileDialog FileDlg(true, _T("txt"), NULL, OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,

"文本文件 (*.TXT)|*.TXT|All Files(*.*)|*.*||");

if( FileDlg.DoModal() == IDOK )

{

CString fileName; fileName = FileDlg.GetFileName();

CStdioFile file;

file.Open(fileName,CFile::modeRead,0);

CListBox *pList = (CListBox *)GetDlgItem(IDC_EDIT);

pList->ResetContent();

CString str;

while(file.ReadString(str))

{

pList->AddString(str);

}

file.Close();

}

}

void CReadTXTTestDlg::OnSaveFile()

{

CFileDialog FileDlg(false, _T("txt"), NULL, OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,

"文本文件(*.TXT)|*.TXT|All Files(*.*)|*.*||");

if( FileDlg.DoModal() == IDOK )

{

CString fileName;

fileName = FileDlg.GetFileName();

CStdioFile file;

file.Open(fileName,CFile::modeCreate | CFile::modeWrite);

CListBox *pList = (CListBox *)GetDlgItem(IDC_EDIT);

CString str;

int size = pList->GetCount();

for(int i=0; i<size;i++)

{

int n = pList->GetTextLen(i);

pList->GetText(i, str.GetBuffer(n));

file.WriteString(str);

file.WriteString("\n");

}

file.Close();

}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-07
为什么不先搜一下呢,一搜一大堆,以下是本人网上搜的:
在日常编程中我们经常需要读写TXT格式的文本文件,本人通过上网查找资料,结合自己的编程经验,给出一个简单的处理方法,写出来供大家参考,写的不对的地方希望大家批评指正。
我主要是利用了CStdioFile类的直接读取字符串的特点,大大简化程序的开发。要调用CStdioFile类需要在程序中加载afx.h库文件。
一。
用VC6.0生成基于对话框的程序ReadTxT工程。
二。添加两个按钮“Open
File”和
“Save
File”。一个CLisiBox列表框。
三。为两个按钮添加消息相应函数,程序如下:
void
CReadTXTTestDlg::OnOpenFile()
{
CFileDialog
FileDlg(true,
_T("txt"),
NULL,
OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,
"文本文件
(*.TXT)|*.TXT|All
Files(*.*)|*.*||");
if(
FileDlg.DoModal()
==
IDOK
)
{
CString
fileName;
fileName
=
FileDlg.GetFileName();
CStdioFile
file;
file.Open(fileName,CFile::modeRead,0);
CListBox
*pList
=
(CListBox
*)GetDlgItem(IDC_EDIT);
pList->ResetContent();
CString
str;
while(file.ReadString(str))
{
pList->AddString(str);
}
file.Close();
}
}
void
CReadTXTTestDlg::OnSaveFile()
{
CFileDialog
FileDlg(false,
_T("txt"),
NULL,
OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,
"文本文件(*.TXT)|*.TXT|All
Files(*.*)|*.*||");
if(
FileDlg.DoModal()
==
IDOK
)
{
CString
fileName;
fileName
=
FileDlg.GetFileName();
CStdioFile
file;
file.Open(fileName,CFile::modeCreate
|
CFile::modeWrite);
CListBox
*pList
=
(CListBox
*)GetDlgItem(IDC_EDIT);
CString
str;
int
size
=
pList->GetCount();
for(int
i=0;
i<size;i++)
{
int
n
=
pList->GetTextLen(i);
pList->GetText(i,
str.GetBuffer(n));
file.WriteString(str);
file.WriteString("\n");
}
file.Close();
}
}
相似回答