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("保存成功");
}
求修改
VC ++ 6.0 保存按钮 代码问题 如下 点击保存按钮 提示保存成功,但是打开之后发现不是EDIT中的内容?
答案:3 悬赏:0 手机版
解决时间 2021-02-28 15:51
- 提问者网友:感性作祟
- 2021-02-27 16:15
最佳答案
- 五星知识达人网友:青灯有味
- 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("保存成功");
}
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修改了,试一下,应该是可以的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯