关于VC++6.0 MFC编程的两个问题
1、如何将CString类型的数据写入二进制文件?CStringcstr;outfile.write((char*)&cstr,sizeof(cstr))不行啊……2、一...
1、如何将CString类型的数据写入二进制文件?
CString cstr;
outfile.write((char*)&cstr,sizeof(cstr))
不行啊……
2、一个模态窗口建立以后自动开始执行运行的代码应该写在哪?
关于CString的……那怎么从二进制文件中读出呢?……我新手……希望讲得详细一点啊……
我用二进制文件是想实现文件的随机访问~ 展开
CString cstr;
outfile.write((char*)&cstr,sizeof(cstr))
不行啊……
2、一个模态窗口建立以后自动开始执行运行的代码应该写在哪?
关于CString的……那怎么从二进制文件中读出呢?……我新手……希望讲得详细一点啊……
我用二进制文件是想实现文件的随机访问~ 展开
4个回答
展开全部
CFile file("ip.txt",CFile::modeWrite|CFile::modeCreate);
CString str;
str="aaaaaaa";
file.Write(str,str.GetLength());
file.Close();
以上是文本文件的写入,我不知道你为什么要用二进制
文本文件的读出代码
CFile file("ip.txt",CFile::modeRead);//文件名得正确,最好路径也加上
char* pBuf;
DWORD dwFileLen;
dwFileLen = file.GetLength();
pBuf = new char[dwFileLen+1];
pBuf[dwFileLen] = 0;
file.Read(pBuf,dwFileLen);
file.Close();
CString str;
str = pBuf;
在窗口显示前会调用OnInitDialog(),初始化代码可以放在这里面,
代码添加在(// TODO: Add extra initialization here)这些后面
windows程序是消息驱动的,有消息时才会运行对应这个消息的函数,要是需要有自动运行的函数,那就使用定时器函数响应WM_TIMER消息的OnTimer()函数,如果定时器设定为一秒,那函数就会一秒钟执行一次
CString str;
str="aaaaaaa";
file.Write(str,str.GetLength());
file.Close();
以上是文本文件的写入,我不知道你为什么要用二进制
文本文件的读出代码
CFile file("ip.txt",CFile::modeRead);//文件名得正确,最好路径也加上
char* pBuf;
DWORD dwFileLen;
dwFileLen = file.GetLength();
pBuf = new char[dwFileLen+1];
pBuf[dwFileLen] = 0;
file.Read(pBuf,dwFileLen);
file.Close();
CString str;
str = pBuf;
在窗口显示前会调用OnInitDialog(),初始化代码可以放在这里面,
代码添加在(// TODO: Add extra initialization here)这些后面
windows程序是消息驱动的,有消息时才会运行对应这个消息的函数,要是需要有自动运行的函数,那就使用定时器函数响应WM_TIMER消息的OnTimer()函数,如果定时器设定为一秒,那函数就会一秒钟执行一次
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 CArchive 序列化。
Save时大概就是:
try
{
CFile file ;
if( ! file.Open(strFilePath,CFile::modeCreate|CFile::modeWrite) )
return FALSE ;
CString str = "hello world" ;
CArchive ar(&file,CArchive::store) ;
ar<<str ;
}
catch(CFileException* e)
{
e->Delete() ;
}
catch(CArchiveException* e)
{
e->Delete() ;
}
Load 时(省略异常处理的代码)
CFile flie ;
if(!file.Open(strFilePath,CFile::modeRead))
return FALSE ;
CString str ;
CArchive ar(&file,CArchive::load) ;
ar>>str ;
问题2已经有人回答了,就是在 OnInitDialog 中
Save时大概就是:
try
{
CFile file ;
if( ! file.Open(strFilePath,CFile::modeCreate|CFile::modeWrite) )
return FALSE ;
CString str = "hello world" ;
CArchive ar(&file,CArchive::store) ;
ar<<str ;
}
catch(CFileException* e)
{
e->Delete() ;
}
catch(CArchiveException* e)
{
e->Delete() ;
}
Load 时(省略异常处理的代码)
CFile flie ;
if(!file.Open(strFilePath,CFile::modeRead))
return FALSE ;
CString str ;
CArchive ar(&file,CArchive::load) ;
ar>>str ;
问题2已经有人回答了,就是在 OnInitDialog 中
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2008-08-26
展开全部
1.用GetBuffer函数
2.对话框的话在OnInitDialog()比较好,没什么需求的话其实构造函数里也可以,实在不行就用定时器
2.对话框的话在OnInitDialog()比较好,没什么需求的话其实构造函数里也可以,实在不行就用定时器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.cstr.GetBuffer(cstr.GetLength())
2.看具体情况,可以试试 WM_CREATE 消息处理函数 OnCreate
2.看具体情况,可以试试 WM_CREATE 消息处理函数 OnCreate
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询