else if (IS_CLASS(wch,CLASS_MONK))
{
strcpy(openb,"{c(O0o.{C");
strcpy(closeb,"{c.o0O){x ");
}
const char* kav = "{D….None….{x";
if(IS_CLASS(wch, CLASS_VAMPIRE))
kav = "{r<<-Vampire->>{x";
else if(IS_CLASS(wch, CLASS_WEREWOLF))
kav = "{y-+(Werewolf)+-{x";
else if(IS_CLASS(wch, CLASS_DEMON))
kav = " {R[-]Demon[-]{x";
else if(IS_CLASS(wch, CLASS_NINJA))
kav = " {m*+*Ninja*+*{x";
else if(IS_CLASS(wch, CLASS_DROW))
kav = "{b.o0 Drow 0o.{x";
else if(IS_CLASS(wch, CLASS_MONK))
kav = "{c(O0o.{CMonk{c.o0O){x ";
else if(IS_CLASS(wch, CLASS_HIGHLANDER))
kav = "{C-=Highlander=-{x";
else if(IS_CLASS(wch, CLASS_MOOGLE))
kav = " {Y-=+{WMoogle{Y+=-{x ";
The short story is that a string in C is just a sequence of characters terminated by a null character. That sequence has to live in memory somewhere: some kind of buffer is used to store the string. Obviously, you need to have enough buffer space to store each character of the string. Writing too many characters is what's known as buffer overflow, and that causes all kinds of bad things to happen.