MFC中,用CFile无法往txt写入数据
我在一个ComBox控件的OnEditChange函数中写入以下代码:if(UpdateData()){CFileWriteFile;intindex=((CComboB...
我在一个ComBox控件的OnEditChange函数中写入以下代码:
if(UpdateData())
{
CFile WriteFile;
int index=((CComboBox*)GetDlgItem(IDC_COMBOTHRESHOLD))->GetCurSel();
WriteFile.Open("threshold.txt",CFile::modeWrite|CFile::modeRead|CFile::modeCreate);
char threshold[10];
sprintf(threshold, "%d\n", index );
WriteFile.Write(threshold,strlen(threshold)+1);
WriteFile.Close();
}
意思是如果有数据改变,就把其索引值写到threshold.txt文档中,可是在threshold.txt中根本写不进去数据,把这段代码中放到OnInitDialog函数中又能写进去,是怎么回事呢,是不是在OnEditChange函数中不能写文件啊,有没有人知道呢? 展开
if(UpdateData())
{
CFile WriteFile;
int index=((CComboBox*)GetDlgItem(IDC_COMBOTHRESHOLD))->GetCurSel();
WriteFile.Open("threshold.txt",CFile::modeWrite|CFile::modeRead|CFile::modeCreate);
char threshold[10];
sprintf(threshold, "%d\n", index );
WriteFile.Write(threshold,strlen(threshold)+1);
WriteFile.Close();
}
意思是如果有数据改变,就把其索引值写到threshold.txt文档中,可是在threshold.txt中根本写不进去数据,把这段代码中放到OnInitDialog函数中又能写进去,是怎么回事呢,是不是在OnEditChange函数中不能写文件啊,有没有人知道呢? 展开
4个回答
展开全部
OnEditChange肯定是可以写进去的。正如楼上所说,可能是外边if 的问题,还有一个问题writefile.close 前面,最好是先进行一次flush 操作。其实,对于文件的操作都有返回码的,比如
int errorcode=writefile.open("XXXXX");写不进去要主动从msdn 里面找问题,要自己加断点调试。
int errorcode=writefile.open("XXXXX");写不进去要主动从msdn 里面找问题,要自己加断点调试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是if(UpdateData())的问题,你确定这个条件是成立的吗,设个断点看一看。
追问
我把这个语句放在OnOk函数中,就写进去了
追答
其实设个断点跟踪一下就知道了.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
轻轻拍哦过。。。 在漂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询