代码如下
就是把文件读到CEdit然后修改在写入txt文档void CFileDlg::OnOpen()
{
// TODO: 在此添加命令处理程序代码
CString m_szTmp;
char buf[1000]={0};
CFileDialog dlg(TRUE);
if(dlg.DoModal()==IDOK)
{
CFile mfile;
mfile.Open(dlg.GetPathName(), CFile::modeRead);
mfile.Read(buf,1000);
m_szTmp = buf;
UpdateData(false);
mfile.Close();
}
GetDlgItem(IDC_EDIT1)->SetWindowText(m_szTmp); }void CFileDlg::OnSave()
{
// TODO: 在此添加命令处理程序代码
CString str;
GetDlgItem(IDC_EDIT1)->GetWindowText(str);
CFileDialog dlg(FALSE,_T("*.txt"));
if(dlg.DoModal() == IDOK )
{
CFile mfile;
mfile.Open(dlg.GetPathName(),CFile::modeCreate|CFile::modeWrite);
mfile.Write(str.GetBuffer(0),str.GetLength());
mfile.Close();
}}
我打开的txt里面是的字符是 hello,my friend
不修改然后保存到另一个txt怎么是 h e l l o , m y
中间怎么多了这几个空格啊
用MessageBox输出的值是对的 写进去的时候字符之间多了空格
不知道为什么
就是把文件读到CEdit然后修改在写入txt文档void CFileDlg::OnOpen()
{
// TODO: 在此添加命令处理程序代码
CString m_szTmp;
char buf[1000]={0};
CFileDialog dlg(TRUE);
if(dlg.DoModal()==IDOK)
{
CFile mfile;
mfile.Open(dlg.GetPathName(), CFile::modeRead);
mfile.Read(buf,1000);
m_szTmp = buf;
UpdateData(false);
mfile.Close();
}
GetDlgItem(IDC_EDIT1)->SetWindowText(m_szTmp); }void CFileDlg::OnSave()
{
// TODO: 在此添加命令处理程序代码
CString str;
GetDlgItem(IDC_EDIT1)->GetWindowText(str);
CFileDialog dlg(FALSE,_T("*.txt"));
if(dlg.DoModal() == IDOK )
{
CFile mfile;
mfile.Open(dlg.GetPathName(),CFile::modeCreate|CFile::modeWrite);
mfile.Write(str.GetBuffer(0),str.GetLength());
mfile.Close();
}}
我打开的txt里面是的字符是 hello,my friend
不修改然后保存到另一个txt怎么是 h e l l o , m y
中间怎么多了这几个空格啊
用MessageBox输出的值是对的 写进去的时候字符之间多了空格
不知道为什么
解决方案 »
- string容量扩展的问题
- 如何监控另外进程中的某个窗体上的文本框的数据变动和这个窗体上的键盘操作
- 哪里可以下载datagrid控件
- 我用STL 的std:list<vector> 的时候 如何使用 insert函数呢!?
- jennyvenus, oldworm来拿分,顺便继续讨论软件加密问题。
- 简单char*长度问题?赚分了!
- BMP缩小一问
- mfc中编一个读取文件信息然后显示信息的程序
- VC程序中变量的数据传递 急用!
- MFC的CListBox中如何获取用户所点击条目的index?
- VC中使用Shockwave flash object 控件,如何控制flash按帧播放
- MFC求救!!!快!!!
解决办法有两个、一个是用ANSI工程、第二个是保存为txt的时候前面加上0xff 0xfe、这两个值然后后面再是你的内容、
还有保存时候的大小用str.GetLength() * sizeof(wchat_t)算、