Witam.
Chciałbym zrobić coś takiego że wczytuję do tablicy charów jakiś ciąg znaków ,które mogą być oddzielone spacjami ,a następnie to zapisać do pliku zewnętrznego.Przy czym ta tablica musi być w alokowana dynamicznie.W sensie żeby ona mi się rozszerzała dopóki nie wcisnę enter ,co powoduje przejście do nowej tablicy.Jak można coś takiego najłatwiej zaimplementować ?
[C]Dynamiczna alokacja pamięci,białe znaki.
-
- Użytkownik
- Posty: 1588
- Rejestracja: 16 maja 2013, o 17:56
- Płeć: Mężczyzna
- Lokalizacja: Trójmiasto
- Podziękował: 11 razy
- Pomógł: 245 razy
[C]Dynamiczna alokacja pamięci,białe znaki.
w pętli robisz sobie
wtedy w z masz znak, tablicę musisz zadeklarować jako wskaźnik
i potem rozszerzać ją funkcją
jeśli musisz mieć wiele tablic to troszkę się komplikuje bo musiałbyś mieć daleki wskaźnik
while (z = getchar() != '\n')
wtedy w z masz znak, tablicę musisz zadeklarować jako wskaźnik
char *tab;
i potem rozszerzać ją funkcją
realloc();
jeśli musisz mieć wiele tablic to troszkę się komplikuje bo musiałbyś mieć daleki wskaźnik
char **arr
, zakolować na nim jedną tablicę jako char **arr = (char **) malloc(x * sizeof(char*));
gdzie x zwiększasz z każdym enterem, potem zamiast malloca robisz realloc ale generalnie dynamika pamięci na dalekich wskaźnikach to coś przy czym bez piwa, dużej pizzy i wolnej nocki nie ma co siadać