Evo mene opet
Zanima me sledece:
treba da unesem string, ciju duzinu ne znam unapred. Memorija treba da se alocira dinamicki.
ja sam to uradio na sledeci nacin:
dodelio sam jedan bajt memorije (za znak '\0'), a zatim svaki put kada ucitam novi karakter sa getchar() (dok god je getchar()!='\n') uvecam brojac duzine za jedan i alociram (d+1)*sizeof(char) preko realloc. Medjutim, uvek mi izbacuje duzi string nego sto to zapravo jeste. Npr unesem test, kad stavim printf("%s", string), izbaci test=2222 itd.
Ako neko moze da pogleda kod, i pomogne da pronadjem gde je greska
Kod:
void main() {
char *niz;
char c;
int d=1,i=0;
niz=(char*)malloc(sizeof(char));
while ( (c=getchar()) != '\n')
{
d++;
niz = (char*)realloc (niz, d);
niz[i]=c;
i++;
}