永发信息网

VC ++ 6.0 保存按钮 代码问题 如下 点击保存按钮 提示保存成功,但是打开之后发现不是EDIT中的内容?

答案:3  悬赏:0  手机版
解决时间 2021-02-28 15:51
  • 提问者网友:感性作祟
  • 2021-02-27 16:15
CString str;
CFileDialog FileDlg(FALSE,"","",OFN_FILEMUSTEXIST |OFN_HIDEREADONLY , "文件类型(*.txt)|*.txt|所有文件(*.*)|*.*|");

if(FileDlg.DoModal()==IDOK)
{

ofstream ofs(FileDlg.GetPathName());
CStatic*pst=(CStatic*)GetDlgItem(IDC_EDIT1);//你的控件ID
pst->GetWindowText(str);
ofs<<str;
MessageBox("保存成功");
}

求修改
最佳答案
  • 五星知识达人网友:青灯有味
  • 2021-02-27 17:13
CString str;
CFileDialog FileDlg(FALSE,"","",OFN_FILEMUSTEXIST |OFN_HIDEREADONLY , "文件类型(*.txt)|*.txt|所有文件(*.*)|*.*|");

if(FileDlg.DoModal()==IDOK)
{
GetDlgItem(IDC_EDIT1)->GetWindowText(str);
AfxMessageBox(str);//看一下提取的内容是否正确
ofstream ofs(FileDlg.GetPathName());
ofs.write(str,str.GetLength());
ofs.close();
AfxMessageBox("保存成功");
}
全部回答
  • 1楼网友:过活
  • 2021-02-27 18:10
你保存成功是那么写的, 根本没做判断, 就算不成功, 他也会提示成功. 打开文件操作, 应该先判断 文件是否打开成功,在做读写操作. ofs.isOpen() 好像是这个函数. 另外一个提示: ofstream & ifstream 不支持中文路径. 解决方案: setlocale(LC_ALL,"Chinese-simplified");//设置中文环境 //在这中间 做打开/创建操作. setlocale(LC_ALL,"C");//还原
  • 2楼网友:轻雾山林
  • 2021-02-27 17:53
把他移动到外面去。 getdlgitem(id)->movewindow(-100,-100,10,10); 要显示时,就把他移进来,只是位置你要调试一下。 getdlgitem(id)->movewindow(100,100,100,40); ========================== 如果你觉得这个方法不好操作,那可以使用“建立类向导”,为按钮梆定一个cbutton类型的变量,例:m_bt,那么,直接使用m_bt.showwindow(sw_hide);就可以了。 其实这个方法和你的方法是一样的, getdlgitem(id)->showwindow(sw_hide); 你把上面这句去了cbutton转换的直接考过去,把id修改了,试一下,应该是可以的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯