Gå til innhold

Tja, hva kalles dette? variabelskifte?


Anbefalte innlegg

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 av Nazgul
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...