wyczyścić tablice char znajdującą się w strukturze, tak by móc edytować dane znajdujące się w niej
Cały czas możesz je edytować. Domyślam się jednak, że próbujesz wykorzystać string literal np "dupa". Skorzystać z niego można tylko przy inicjowaniu zmiennej, a nie przy zmianie wartości istniejącej zmiennej:
char s[] = "dupa"; // ok
s = "dupa2"; // tak nigdy nie mozna
Po utworzeniu musisz przeiterować po elementach:
for (int i = 0; i < len; i++)
{
s[i] = ' ';
}
lub użyc memset:
memset(s,' ',len)
Te kody:
(TablicaOsob[atoi(osobazm)].imie).clear()
("%s", TablicaOsob[atoi(osobazm)].nazwisko)=NULL;
są totalnie wyssane z palca i nie mają żadnego sensu. W ostatniej próbie byłeś blisko. Choć nie możesz przypisać czegoś do tablicy więc malloc nie zadziałał, a 0*sizeof(char) to wciąż 0 :P. Więc próbowałeś ustawić 0 elementów.