... struct MailPass { char *mail; char *pass; }; ... int main(void) { .... MailPass * CurrentMailPassPointer; MailPass CurrentMailPass; ... CurrentMailPassPointer = MailPassRead(MailPassList); CurrentMailPass.mail = (* CurrentMailPassPointer).mail; CurrentMailPass.pass = (* CurrentMailPassPointer).pass; ... } MailPass *MailPassRead(FILE *fd) { ...... MailPass mailpass; char a[255] = "\0"; mailpass.mail = new char[sizeof(strtok(a,";"))]; mailpass.pass = new char[sizeof(strtok(0,";"))]; strcpy(mailpass.mail,strtok(a,";")); strcpy(mailpass.pass,strtok(0,";")); .... return &mailpass; }