Ĺadny brzuch
Witam.
Mam pytanko odnośnie wczytywania znaków w języku C. Zawartość pliku (przekierowanie wejścia w Linuxie) wczytuję za pomocą pętli while i funkcji getchar(). Jednak nie wiem jak wczytać zawartość tego pliczku kilka razy podczas jednego uruchomienia programu. Program wczytuje plik raz, a potem "wejście jest już puste". Czy jest sposób, aby wczytać go kilka razy korzystając z getchar()?
Jeśli nie to może jakiś inny pomysł bez użycia tej funkcji?
Pozdrawiam.
moze podaj kod, bo wydaje mi sie, ze nie chodzi o getchar()
main () { char c; c=getchar(); while (c!=EOF) { putchar(c); c=getchar(); } c=getchar(); while (c!=EOF) { putchar(c); c=getchar(); } }
Chodzi o to, żeby za drugim razem program wypisał to samo co za pierwszym. Przekierowany na wejście jest jeden plik i trzeba wydrukować jego zawartość dwukrotnie. Chciałbym wiedzieć czy w ogóle jest to możliwe nie zmieniając drastycznie kodu?
Możesz przewinąć plik na początek za pomocą funkcji rewind(f); gdzie f to wskaźnik do pliku. A jak to nie zadziała, to spróbuj fseek(f,0, SEEK_SET)
@down: proszę bardzo ;)
Wielkie dzięki. ;*
Wpisałem rewind(stdin); i działa! :D
Jeszcze raz dziękuję.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Mam pytanko odnośnie wczytywania znaków w języku C. Zawartość pliku (przekierowanie wejścia w Linuxie) wczytuję za pomocą pętli while i funkcji getchar(). Jednak nie wiem jak wczytać zawartość tego pliczku kilka razy podczas jednego uruchomienia programu. Program wczytuje plik raz, a potem "wejście jest już puste". Czy jest sposób, aby wczytać go kilka razy korzystając z getchar()?
Jeśli nie to może jakiś inny pomysł bez użycia tej funkcji?
Pozdrawiam.
moze podaj kod, bo wydaje mi sie, ze nie chodzi o getchar()
main () { char c; c=getchar(); while (c!=EOF) { putchar(c); c=getchar(); } c=getchar(); while (c!=EOF) { putchar(c); c=getchar(); } }
Chodzi o to, żeby za drugim razem program wypisał to samo co za pierwszym. Przekierowany na wejście jest jeden plik i trzeba wydrukować jego zawartość dwukrotnie. Chciałbym wiedzieć czy w ogóle jest to możliwe nie zmieniając drastycznie kodu?
Możesz przewinąć plik na początek za pomocą funkcji rewind(f); gdzie f to wskaźnik do pliku. A jak to nie zadziała, to spróbuj fseek(f,0, SEEK_SET)
@down: proszę bardzo ;)
Wielkie dzięki. ;*
Wpisałem rewind(stdin); i działa! :D
Jeszcze raz dziękuję.