我在做一个聊天程序,
现在想实现的功能是:保存聊天记录.能帮我想个方案么?我想保存聊天消息的时间,用户名,
和消息内容。
我初步打算用下面的方式来读写文件。
CString strTemp;
CFile mFile;
mFile.Open"d:\\dd\\try.TRY",CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);
CArchive ar(&mFile,CArchive::store);
ar<strTemp;
ar.Close();
mFile.Close();
//对文件进行读操作
CFile mFile;
if(mFile.Open("d:\\dd\\try.TRY",CFile::modeRead)==0)
return;
CArchive ar(&mFile,CArchive::load);
ar>>strTemp;
ar.Close();
mFile.Close(); 我现在不知道该如何继续,问题出在我不知道怎么控制读写的位置啊?
大家帮帮本超级菜鸟:)
现在想实现的功能是:保存聊天记录.能帮我想个方案么?我想保存聊天消息的时间,用户名,
和消息内容。
我初步打算用下面的方式来读写文件。
CString strTemp;
CFile mFile;
mFile.Open"d:\\dd\\try.TRY",CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);
CArchive ar(&mFile,CArchive::store);
ar<strTemp;
ar.Close();
mFile.Close();
//对文件进行读操作
CFile mFile;
if(mFile.Open("d:\\dd\\try.TRY",CFile::modeRead)==0)
return;
CArchive ar(&mFile,CArchive::load);
ar>>strTemp;
ar.Close();
mFile.Close(); 我现在不知道该如何继续,问题出在我不知道怎么控制读写的位置啊?
大家帮帮本超级菜鸟:)
你第一次如果没有这个文件,就创建出来。
以后如果这个文件存在,有保存的记录,就把它设置成从END开始写~
其实用数据库更好。
我的毕业设计就是一个聊天室,我用数据库来记录他们的聊天内容,和每个用户的IP地址
CArchive只能顺序读写吧,何必借助它呢,直接CFile就行了,Seek可以控制位置。
//////////////////
CArchive本身就是流式文件,不是顺序问题,顺序文件也可以控制的。
当用户发一个消息,我则
把消息内容放到strTemp,再
ar<<strTemp
以此类推
然后当用户下次登录的时候,再一句句
ar>>strTemp
读出来,不知道这样行不?
ironox
1.wo riironox
2,kao
葺Q
读文件怎么后面有乱码呢?
我写进去的只有
ironox
1.wo riironox
2,kao