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
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);