You need to increment the pointer:
while (!feof(myf) == 1){
fread(buff, 40, 1, myf);
...
char *p = buff;
strncpy(newRec->name, p, 16);
p += 16;
strncpy(newRec->msg, p, 24);
...
... or ...
while (!feof(myf) == 1){
fread(buff, 40, 1, myf);
...
int i=0;
strncpy(newRec->name, &buff[i], 16);
i += 16;
strncpy(newRec->msg, &buff[i], 24);
...