文件读到编辑框

wichelle021148 2011-04-02 09:43:20
对话框上有3个编辑框和一个按钮,要实现按按钮后文件的数据可以分别读到3个编辑框中,以下是代码,但是运行时在第一个编辑框出现乱码,而且另外2个编辑框没有东西写入,请问是怎么回事啊?

int i=0;
CStdioFile file;
file.Open(_T("c\\DATA.txt"),CFile::modeRead);
CString strLine(_T(","));
while(file.ReadString(strLine))
{
SetDlgItemText(IDC_EDIT1+i, strLine);
}
file.Close();
...全文
83 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sichuanwww 2011-04-02
  • 打赏
  • 举报
回复
写程序需要逻辑,
你这个问题,先保证把字符读出来,然后赋值。
你的问题在读文件上,仔细看看吧。
lj2lxm 2011-04-02
  • 打赏
  • 举报
回复
看了大家回复后, 我才明白你的问题是:你似乎还不知道ReadString函数的意思,它是一行一行读取文件内容的意思,你那用个什么"逗号隔开",汗!!! 你觉得你那个逗号起到作用了吗 你每次一读就用你读的内容替换了strLine,别说你只赋了一个逗号,就算你赋一排逗号,也是多此一举
lj2lxm 2011-04-02
  • 打赏
  • 举报
回复
CStdioFile myfile;
myfile.Open(filename, CFile::modeRead);
CString str;
int i = 0;
while(myfile.ReadString(str))
{
SetDlgItemText(IDC_EDIT1+i, str);
i++;
}
此段代码没有问题,能实现
第二和第三没有内容 那就是你的地址有问题
xy8366033 2011-04-02
  • 打赏
  • 举报
回复
朋友,你的基础不是很好,把这几个函数的参数先弄明白吧 以后再用就OK了 如果是只用一次性的 用stdiofile的话,在文本中3个编辑框的内容写成3行,一次读一行
King_hhuang 2011-04-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wichelle021148 的回复:]
CString strLine(_T(","));

这里我用,来分界了啊~~
[/Quote]
晕,你这是指给strLine赋了一个初始值,每次file.ReadString(strLine)后,strLine就更新为你读到的信息
换句话说,在你的程序中这个CString strLine(_T(","));等价与CString strLine;
wichelle021148 2011-04-02
  • 打赏
  • 举报
回复
CString strLine(_T(","));

这里我用,来分界了啊~~
King_hhuang 2011-04-02
  • 打赏
  • 举报
回复
那是因为你ReadString(strLine)一次就读完啦
wichelle021148 2011-04-02
  • 打赏
  • 举报
回复
不好意思,忘记改变i的值了。但是现在我已经改过来,而且存为Unicode格式了,运行时,在第一个编辑框还是会出现1个乱码,然后才出现数据,而且3个数据都出现在第一个编辑框,而其他2个还是没有数据


King_hhuang 2011-04-02
  • 打赏
  • 举报
回复
另外你把DATA.txt另存为“ANSI”编码
haogeai123 2011-04-02
  • 打赏
  • 举报
回复
while(file.ReadString(strLine))
{
SetDlgItemText(IDC_EDIT1+i, strLine);
//i++;
i = (i + 1) % 3;//你的i值都没有变化,怎么实现啊
}

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧