Peter Skrevet 25. januar 2004 Del Skrevet 25. januar 2004 (endret) class IrcAction { public: IrcAction(std::string s, std::string c, std::string t, std::string m) { unsigned int pos = s.find("!",1); if(pos == std::string::npos) return; sender[0] = s.substr(1,pos-1); sender[1] = s.substr(pos+1,s.find("@",pos+1)-1); sender[2] = s.substr(s.find("@",pos+1)+1); command = c; target = t; msg = m; } // IrcAction constructor std::string getAction(void) { return command; } ~IrcAction() { delete sender; delete command; delete target; delete msg; } // IrcAction destructor private: std::string sender [3]; std::string command; std::string target; std::string msg; }; strlist strl = Explode(data, ' '); IrcAction irc(strl.getValue(0), strl.getValue(1), strl.getValue(2), Implode(strl, ' ', 3)); switch(irc.getAction()) { case "QUIT": QUIT(sender, action, target, msg); break; case "PART": //action.part(); break; case "TOPIC": //action.topic(); break; case "KICK": //action.kick(); break; case "PRIVMSG": //action.privmsg(); break; case "NOTICE": //action.notice(); break; case "376": // 376 = end of MOTD = we are in! perform(sockfd, BMAX, lastmsg); break; default: break; } Målet er at jeg vil kunne få tak i de forskjellige variablene på en enkel måte. Dette er fordi jeg skal skrive logger osv, og da ville det vært kjekt å kunne skrive // sender[0] = nick, sender[1] = ident, sender[2] = adresse IrcAction irc; cout << irc::getVar(sender[0]) << " (" << irc::getVar(sender[2]) << ") sendte " << irc::getVar(command) << " til " << irc::getVar(target) << " med meldingen " << irc::getVar(msg) << '\n'; Endret 25. januar 2004 av Nazgul Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå