Program, który wczytuje łańcuchy znaków i dla każdego łańcucha zajmuje tylko tyle pamięci ile wymaga tego wczytany łańcuch.
Czy do napisania takiego programu wystarczy użyć funkcji malloc? ;)

- Rejestracja:około 8 lat
- Ostatnio:10 dni
- Postów:913
1
Raczej chodzi o getline
który za Ciebie rezerwuje pamięć:
int main()
{
char *line = NULL;
size_t nbytes = 0;
// Powyższe zmienne zostaną zaktualizowane po zaalokowaniu pamięci
printf("Podaj ciag znakow: \n");
int bytes_read = getline(&line, &nbytes, stdin);
if(bytes_read == -1)
{
// Błąd
}
else
{
printf("%s", line); // Wypisz to co wpisał użytkownik.
}
free(line); // Zwolnij zarezerwowany obszar pamięci.
return 0;
}
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.