CFile中字符串的问题

tyanfeng_00 2012-08-27 05:05:33
如何输入字符串和显示字符串.
void CjintianDlg::OnBnAdd()
{
if(!UpdateData(true))
{
return;
}
CFile mFile;
if(mFile.Open(L"c:\\qq.dat",CFile::modeCreate|CFile::modeReadWrite))
{
mFile.Write(&m_start,sizeof(m_start));
}
}


void CjintianDlg::OnBnShow()
{
CFile mFile;
if(mFile.Open(L"c:\\qq.dat",CFile::modeReadWrite))
{
mFile.Read(&m_end,sizeof(m_end));
}
UpdateData(false);
}
其中m_start和m_end为编辑框字符串变量.为什么不能显示输入的字符串,错误在那
...全文
188 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tyanfeng_00 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 5 楼 的回复:
m_end是CString类型吧?

不要用这个类,用char*读写

CFile mFile;
char *strBuf = new char[20];
memset(strBuf, 0, 20);
if(mFile.Open(L"c:\\qq.dat",CFile::modeCreate|CFile::modeReadWrite))
{
mFile.……
[/Quote]
读的时候用buf是什么?
可不可以具体点,不是很明白.
傻X 2012-08-27
  • 打赏
  • 举报
回复
老问题了
缺少
mFile.close()
Gloveing 2012-08-27
  • 打赏
  • 举报
回复
每次打开文件之后你都不关闭呢
默认情况下写入之后,如果你不强制刷新文件缓冲,他会在关闭的时候,才写进文件
  • 打赏
  • 举报
回复
简单的读写可以用CStdioFile
dickbarry 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
m_end是CString类型吧?

不要用这个类,用char*读写

CFile mFile;
char *strBuf = new char[20];
memset(strBuf, 0, 20);
if(mFile.Open(L"c:\\qq.dat",CFile::modeCreate|CFile::modeReadWrite))
{
mFile.Write(strBuf,……
[/Quote]
搞错了...

void CjintianDlg::OnBnAdd()
{
if(!UpdateData(true))
{
return;
}
CFile mFile;
if(mFile.Open(L"c:\\qq.dat",CFile::modeCreate|CFile::modeReadWrite))
{
mFile.Write(m_start.GetBuffer(0),m_start.GetLength());

}
}



读的时候用buf...
dickbarry 2012-08-27
  • 打赏
  • 举报
回复
m_end是CString类型吧?

不要用这个类,用char*读写

CFile mFile;
char *strBuf = new char[20];
memset(strBuf, 0, 20);
if(mFile.Open(L"c:\\qq.dat",CFile::modeCreate|CFile::modeReadWrite))
{
mFile.Write(strBuf, 20);
m_start.Format("%s", strBuf);
}
}
delete [] strBuf;

同理m_end

tyanfeng_00 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
显示,是什么意思,在哪儿显示?

你是指打开文本显示?

代码里没看到你写完有关闭mFile.close的地方
[/Quote]
显示在编辑框m_end中,m_start写入,m_end中显示。
tyanfeng_00 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
qq.dat里面是否有写入内容
[/Quote]
显示前期qq.dat为4字节,应该写入内容了.
lgstudyvc 2012-08-27
  • 打赏
  • 举报
回复
显示,是什么意思,在哪儿显示?

你是指打开文本显示?

代码里没看到你写完有关闭mFile.close的地方
oyljerry 2012-08-27
  • 打赏
  • 举报
回复
qq.dat里面是否有写入内容
常用MFC和API函数 索引 CArchive类:用于二进制保存档案 CBitmap类:封装Windows的图形设备接口(GDI)位图 CBrush类:封装图形设备接口(GDI)的画刷 CButton类:提供Windows按钮控件的功能 CByteArray类:该类支持动态的字节数组 CCmdUI类:该类仅用于ON_UPDATE_COMMAND_UI处理函数 CColorDialog类:封装标准颜色对话框 CDC类:定义设备环境对象类 CDialog类:所有对话框(模态或非模态)的基类 CDocument类:提供用户定义的文档类的基本功能 CEdit类:是一个用于编辑控件的类 CFile类:该类是基本文件类的基类 CFileDialog类:封装了打开和保存文件的标准对话框 CFindReplaceDialog类:封装了标准查找/替换对话框 CFont类:封装了Windows图形设备接口(GDI)的字体对象 CFontDialog类:封装了字体选择对话框 CGdiObject类:GDI绘图工具的基类 CIPAddressCtrl类:提供了IP地址控件的功能 CImageList类:管理大小相同的图标或位图集 CMenu类:封装应用程序菜单栏和弹出式菜单 CPen类:封装了Windows图形设备接口(GDI)的画笔对象 CPoint类:操作CPoint和POINT结构 CRect类:封装了一个矩形区域及相关操作 CRgn类:封装用于操作窗口的椭圆、多边形或者不规则区域的GDI区域 CSize类:用于表示相对坐标或位置 CSpinButtonCtrl类:旋转控件Spin的控制类 CStatusBar类:状态栏窗口的基类 CString类:处理字符串 CStringList类:支持CString对象的列表 CWinApp类:派生的程序对象的基类 CWnd类:提供所有窗口类的基本函数 API函数 CArchive类:用于二进制保存档案 CArchive::CArchive 建立一个CArchive对象 CArchive(CFile* pFile,UINT nMode,int nBufSize=4096,void* lpBuf=NULL); 参数:pFile 指向CFile对象的指针,这个CFile对象

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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