Se pensi che sia correttoOriginariamente inviato da roldo
Cerco di spiegarmi meglio.
strcpy(b, line);
probabilmente non hai compreso bene il funzionamento dei puntatori.
b è un puntatore a puntatore a char (un puntatore doppio a char, ovvero un char**)
(*b) è un puntatore a char (ovvero un char*)
e dato che il parametro deve essere un puntatore a char (e non un puntatore a puntatore a char) la prima scrittura è sbagliata e la seconda è corretta.