大家好。我要实现socket的聊天程序。
聊天内容放入一个内存块list,结构为Struct{对方ip方向聊天内容}另起一个线程,读取list内容,写入文件。
怎样读取list内容,写入文件呢?
谢谢

解决方案 »

  1.   

    都没人理,是太简单了吗?
           //把聊天内容读入chat.txt文件中
    fstream f;
    f.open("chat.txt", ios::in,0);
    if(!f.is_open())
    cout<<"不能打开文件"<<endl;
    f.write(&mylist,sizeof(mylist));
    f.close();
    d:\backup\我的文档\visual studio 2008\projects\chat3\chat3\socket_tcp_server.cpp(87) : error C2664: “std::basic_ostream<_Elem,_Traits>::write”: 不能将参数 1 从“INFOLIST *”转换为“const char *”
      

  2.   

    问题是你的文件结构是想做成怎样.如果你只是想将IP,方向,内容,以每行的行文的结构,例如
    IP(方向): 内容\r\n.
      

  3.   

    list结构是这样的
    typedef struct
    {
    string str;         //聊天内容
    int dir;           //方向
    string ip;         //ip
    }INFO;typedef list<INFO> INFOLIST;fstream f; 
    f.open("chat.txt", ios::in,0); 
    if(!f.is_open()) 
    cout < <"不能打开文件" < <endl; 
    f.write(&mylist,sizeof(mylist)); 
    f.close(); 把list里的内容读入文件就完成了。可是编译没通过呢。