losowanie linijek z tekstu

0

witam chcę losować linijkę w tekście pliku i wypisywać jej dane. zrobiłem tak, że najpierw program wczytuje liczbę linijek w tekście a następnie rand-em losuję jedną z przedziału od 1 do n.
jak wygląda formuła wczytująca konkretną linijkę tekstu? coś z getline?

0

Albo odczytujesz po kolei pierwszych X wierszy.
Albo przy okazji liczenia ilości sporządzasz tablicę początków wierszy - .tellg();
Po losowaniu używasz .seekg();

0

hmm. a jak mam zadziałać, jak nie chcę korzystać ani z tellg(), ani z seekg()? po prostu tych formuł nigdy nie używałem i nie wiem jak z nich korzystać :/

0

Kiedyś był czas że nigdy nie napisałeś żadnego słowa, widzę że już zdradziłeś te swoje przekonania że jak dotychczas czegoś nie robiłeś to nie należy tego robić nigdy.
Tak a propos - alternatywę też podałem.

0

Trzymaj fragment programu. Wypisywał on losową linijkę z pliku.

FILE *fp;
char slownik[80];
int i =0;
int c;

		  fp=fopen("plik.txt","r");
		  
		  srand(time(NULL)); 
		  c=rand()%153;
		  
		  if (fp==NULL) {
		            perror("blad");
		            }
		  while (!feof(fp)){
		             fgets(slownik, 80, fp);
		             if (i==c) break;
		             i++;
		         }             
		  fclose(fp);
		  
		  printf("\n%s\n",slownik);

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