int i;
for(i=0; i<5; i++)
chatmsgs[i] = str_create("");

chatmsgs[i] is only a pointer. First you have to create the string where the pointer points.