Prova questo, sicuramente c'è di meglio, ma ora mi è venuto così
codice:
char* s = "titolo= Titolo & autore= Autore"; /* La tua stringa */
char* p = strdup(s); /* Copiamo la stringa siccome la modifichiamo e ricordiamoci
di deallocare la memoria allocata da strdup */
char* s1 = strchr(p,'&'); /* Troviamo il carattere & e lo sostituiamo con '\0' */
s1[0] = '\0';
char* titolo = strchr(p,'=')+1; /* Prendiamo la stringa a partire da = fino al terminatore */
delete[] p;
char* autore = strrchr(s,'=')+1; /* Prendiamo la stringa a partire dall'ultimo carattere = */
Max