我在做一个聊天程序,
现在想实现的功能是:保存聊天记录.能帮我想个方案么?我想保存聊天消息的时间,用户名,
和消息内容。
我初步打算用下面的方式来读写文件。
  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(); 我现在不知道该如何继续,问题出在我不知道怎么控制读写的位置啊?
大家帮帮本超级菜鸟:)

解决方案 »

  1.   

    CArchive只能顺序读写吧,何必借助它呢,直接CFile就行了,Seek可以控制位置。
      

  2.   

    直接用文件不就好了吗??
    你第一次如果没有这个文件,就创建出来。
    以后如果这个文件存在,有保存的记录,就把它设置成从END开始写~
    其实用数据库更好。
    我的毕业设计就是一个聊天室,我用数据库来记录他们的聊天内容,和每个用户的IP地址
      

  3.   

    引用:
    CArchive只能顺序读写吧,何必借助它呢,直接CFile就行了,Seek可以控制位置。
    //////////////////
    CArchive本身就是流式文件,不是顺序问题,顺序文件也可以控制的。
      

  4.   

    我是想这样的:
    当用户发一个消息,我则
    把消息内容放到strTemp,再
    ar<<strTemp
    以此类推
    然后当用户下次登录的时候,再一句句
    ar>>strTemp
    读出来,不知道这样行不?
      

  5.   


    ironox
    1.wo riironox
    2,kao
    葺Q
    读文件怎么后面有乱码呢?
    我写进去的只有
    ironox
    1.wo riironox
    2,kao