MFC中如何逐行读取txt并显示在编辑框中

希望按一个按钮OK,就自动将txt内容复制显示在编辑框里voidCreadtextDlg::OnBnClickedOk(){UpdateData(TRUE);CStdio... 希望按一个按钮OK,就自动将txt内容复制显示在编辑框里
void CreadtextDlg::OnBnClickedOk()
{
UpdateData(TRUE);
CStdioFile txxt;
txxt.Open("C:\1.txt",CFile::modeRead);
/*这里出现error,说
Error1error C2664: “BOOL CStdioFile::Open(LPCTSTR,UINT,CFileException *)”: 不能将参数 1 从“const char [6]”转换为“LPCTSTR”c:\users\alfalfa\documents\visual studio 2010\projects\timer\readtext\readtextdlg.cpp1661readtext
*/
CString strText,szLine;
while(txxt.ReadString(szLine)) {
m_edit+=szLine;
}
MessageBox(m_edit);
txxt.Close();
UpdateData(FALSE);
}
或者不用帮我改程序,直接重新写一个,谢谢啦
展开
 我来答
水晶扇
推荐于2016-10-04 · TA获得超过1536个赞
知道大有可为答主
回答量:837
采纳率:100%
帮助的人:1098万
展开全部
这是因为你创建工程的时候选择了UNICODE
修改方法一:
将项目属性->配置属性->常规 中的字符集改为“未设置”。
修改方法二:
在所有常量字符串前面加一个“_T”:
txxt.Open(_T"C:\\1.txt",CFile::modeRead);

另外:C语言中,字符串中的“\”要用“\\” 。
追问
加了_T后说是未声明标识符,不过修改方法一成功啦!!非常感谢
百度网友bec1679
2012-10-14 · TA获得超过2185个赞
知道大有可为答主
回答量:1093
采纳率:66%
帮助的人:620万
展开全部
CString str =" ";
CStdioFile file;
file.Open("test.txt",CFile::modeRead);//打开文件
//逐行读取字符串
while( file.ReadString(str ))
{
//设置到编辑框
MessageBox(str); //test
}
file.Close();//关闭文件

有什么问题的话可以追问~
追问
表示原来那个error还是存在啊T_T
追答
好吧- -我错了,我坦白,其实我没看你的代码,不知道你错了....
我只看到最后一句问题补充:
"或者不用帮我改程序,直接重新写一个.."...然后...然后就木有然后了....
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3038d88
2012-10-14 · TA获得超过1097个赞
知道小有建树答主
回答量:1670
采纳率:0%
帮助的人:1160万
展开全部
用fstream:: getline
试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Allen穆迪埃
推荐于2016-06-14 · TA获得超过7137个赞
知道大有可为答主
回答量:8378
采纳率:0%
帮助的人:3519万
展开全部
CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str;
CFile f;
f.Open(fileDlg.GetFileName(),CFile::modeReadWrite);
f.Read(str.GetBuffer(f.GetLength()),f.GetLength());
f.close();
GetDlgItem( IDC_SEND )->SetWindowText( str);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式