Skocz do zawartości
skywalkerrr

Odczyt Kolejnych Linii Z Pliku

Rekomendowane odpowiedzi

Witam

 

Potrzebuje napisac funkcje w C, ktora bedzie odczytywala kolejne linie z pliku i kazda linia jest podstawiana pod wskaznik typu char ,tak zeby kazdy kolejny wskaznik wskazywal na kolejna linie z pliku.

 

Kod,ktory napisalem nie dziala:

 

FILE *f;f = fopen(file, "rt");char *ptr[6];	  while(feof(f)==0)	  {			int i;			for(i=0;i<6;i++)						fgets(ptr[i],80,f);	  }	  fclose(f);

Prosze o jakiekolwiek wskazowki,gdyz jestem poczatkujacy w c/c++ i nie mam pojecia co jest zle.

Z gory dziekuje.

 

Pozdrawiam

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

pierwsza sprawa jest taka.. że stworzyłęś sobie tablice 6 wskaźników na char... i na tym koniec..

 

jak chces przechować gdzies dane to musisz teraz zaalokować dla nich miejsce (operator new).. dokładniej musisz stworzyć tablice na znaki wczytane z pliku...

 

wskaxnik wskazuje tylko miejsce w pamieci... w nim nie można trzymać danych, a już napewno nie całej linii bajtów...

FILE *f;f = fopen(file, "rt");char *ptr[6]; // tablica wskaźników na tablice znaków...	  while(!feof(f)) // wystarczy sprawdzić warunek dopóki nie end of file, a nie żadne feof==0	  {			int i;			for(i=0;i<6;i++)   // to tez jest niebezpieczne, bo EOF moze sie 						{						   // pojawic zani wczytasz 6 linii... i co wtedy? 						  // najlepiej wywalić tą petle w ogóle i dodać inkrementację 												  // i++ (ze sprawdzeniem czy nie przekraczasz ptr[6]							 ptr[i]=new char[100]; // tu robisz bufor na linię... 				 fgets(ptr[i],80,f);			 }	  }	  fclose(f);
Edytowane przez PelzaK

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...