Utworzenie tablicy stringów na podstawie zawartości pliku tekstowego

0

Mam problem. Dawno nie pisałem w C i nie pamiętam już tego w zasadzie. Pobieram z pliku tekstowego np imiona:

Ola
Ania
Marek
Daniel

Jak utworzyć tablicę takich "stringów" by można je było później w pętli for wyświetlić?

0

string to nic innego jak tablica znaków.
Aby przechować te wszystkie imiona potrzebujesz tablicy wskaźników (wskaźniki będą na tablice znaków poszczególnych imion.

Prosty przykład:

char first[] = "Foo";
char second[] = "Bar";
char *names[2] = { first, second };

for (int i = 0; i < 2; i++)
{
    printf("%s", names[i]);
}
0

A jak nie znam jej rozmiaru z początku? W sensie nie wiem czy w pliku jest 10 imion czy 72. Potem dopiero chcę utworzyć tablicę, wpisać tam te imiona, a na koniec wyświetlić.

0

W takim razie możesz użyć np. listy jednokierunkowej.

0
hydrant23 napisał(a):

A jak nie znam jej rozmiaru z początku? W sensie nie wiem czy w pliku jest 10 imion czy 72. Potem dopiero chcę utworzyć tablicę, wpisać tam te imiona, a na koniec wyświetlić.

  1. Otwórz plik,
  2. Przejdź od początku do końca zliczając ilość imion,
  3. Przestaw kursor w pliku (lseek(...)) na jego początek,
  4. Zadeklaruj tablicę o odpowiedniej wielkości wyliczonej w pkt. 2,
  5. Przeczytaj imiona i wpisz do tablicy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1