ďťż

Ładny brzuch

Witam. Mam taki problem, gdyż chciałbym wczytać wyrazy z pliku wyr.txt, linia po linii do listy jednokierunkowej.

Oto jak wygląda lista:

typedef struct WYRAZ
{
char tab[100];
struct WYRAZ *polaczenie;
} ELEMENT;

problem w tym, że(wiem, jak wczytywać np liczby i wstawiać je do listy) ale jak to zrobić w przypadku wyrazów (stringów) ?

Mógłby mi ktoś napisać funkcję za to odpowiedzialną ew wytłumaczyć? Byłbym wdzięczny. Pozdrawiam!



Zapewne getline lub gets cię będzie interesować.
Użytkownik Ali240 edytował ten post 02 styczeń 2008, 12:07
Może sprecyzuję:

typedef ELEMENT *LINK;

a funkcja:
void dodaj(LINK *l, [...] ) { LINK nowy, pom; nowy = (LINK)malloc(sizeof(ELEMENT)); [Dodanie wczytanego słowa do nowy->tab] nowy->polaczenie = NULL; if (*l == NULL) *l = nowy; else { pom = *l; while(pom->polaczenie!=NULL) pom = pom->polaczenie; pom->polaczenie = nowy; } }

W funkcji jeden argument jest wskaźnikiem na listę , a drugi ma musi być właśnie tym wczytanym słowem (wczytaną linią z pliku) żeby program wiedział co ma wstawić. Tego właśnie nie wiem, jak to rozwiązać

Argument raczej będzie typu char*. Pytanie tylko jak potem chcesz to rozwiącać:
    l wstawiasz po prostu ten wskaźnik (i na zwenątrz nie zwalniasz tej talibcy)
    l
    l tworzysz nową tablice znaków i kopiujesz dane z argumentu (może się przydać jeżeli słowa będą miały dużą różnicę w ilośći znaków, będziesz miał ich dużo i chcesz zaoszczędzić pamięć kosztem czasu)l

Użytkownik Ali240 edytował ten post 02 styczeń 2008, 12:31


Raczej ta 2 opcja wchodzi w grę. Mógłbyś poprostu napisać jak ma wyglądać poprawna sama nazwa funkcji z argumentami i jak wczytać ten drugi argument do nowy->tab ?
Użytkownik TomkoV edytował ten post 02 styczeń 2008, 12:40

Raczej ta 2 opcja wchodzi w grę. Mógłbyś poprostu napisać jak ma wyglądać poprawna sama nazwa funkcji z argumentami i jak wczytać ten drugi argument do nowy->tab ?
Nie :). Mogę podpowiedzieć conajwyżej.
Kopiowanie albo strcpy/strncpy. Alokacja nowej tablicy na podstawie strlen.

// (tu było coś co miało być w innym topicu ^^)
Użytkownik Ali240 edytował ten post 03 styczeń 2008, 23:26
Poradziłem sobie, dzięki za pomoc.
Wprawdzie narazie nie na dynamicznej tablicy, ale nie wykluczam ze tak zrobię potem
Użytkownik TomkoV edytował ten post 03 styczeń 2008, 23:15
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •