daka

#include<iostream>
#include<string>
#include<fstream>
#include<sstream>
#include<bits/stdc++.h>

using namespace std;

struct ServerInfo
{
    char _ip[32];
    int _port;
 } ;
 
 struct ConfigManager
 {
     public:
         ConfigManager(const char* configfile = "bitsserver.config")
             :_configfile(configfile)
             {
             }
        void WriteBin(const ServerInfo& info)
        {
            ofstream ofs(_configfile, ifstream::out | ifstream::binary);
            ofs.write((const char*)&info, sizeof(ServerInfo));
            ofs.close();
        }
        void ReadBin(ServerInfo& info)
        {
            ifstream ifs(_configfile, ifstream::in | ifstream::binary);
            ifs.read((char*)&info, sizeof(ServerInfo));
            ifs.close();
        }
        
        void WriteText(const ServerInfo& info)
        {
            ofstream ofs(_configfile);
            ofs << info._ip << endl;
            ofs << info._port << endl;
            ofs.close();
        }
        void ReadText(ServerInfo& info)
        {
            ifstream ifs(_configfile);
            ifs >> info._ip;
            ifs >> info._port;
            ifs.close();
        }
    private:
        string _configfile;    
    
 };
 int main()
 {
     ConfigManager cfgMgr;
     ServerInfo wtinfo;
     ServerInfo rdinfo;
     strcpy(wtinfo._ip, "127.0.0.1");
     wtinfo._port = 80;
     
     cfgMgr.WriteText(wtinfo);
     cfgMgr.ReadText(rdinfo);
     cout << rdinfo._ip << endl;
     cout << rdinfo._port << endl;
     
     cfgMgr.WriteBin(wtinfo);
     cfgMgr.ReadBin(rdinfo);
     cout << rdinfo._ip << endl;
     cout << rdinfo._port << endl; 
     
     return 0;    
 }
 

 

posted @ 2023-05-18 20:30  kxzzow  阅读(27)  评论(0)    收藏  举报