Jak wprowadzić plik tekstowy do napisanego programu w C ?

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
Heron
Wytworny Kaczor
Wytworny Kaczor
Posty: 258
Rejestracja: 10 cze 2010, 00:29
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: Unity
Architektura: x86_64

Jak wprowadzić plik tekstowy do napisanego programu w C ?

Post autor: Heron »

Witam, napisałem program konsolowy w C zliczający liczbę słów. Jak teraz mogę wprowadzić dla niego plik tekstowy *txt ? :/
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Odp: Jak wprowadzić plik tekstowy do napisanego programu w C ?

Post autor: ethanak »

Heron pisze:Witam, napisałem program konsolowy w C zliczający liczbę słów. Jak teraz mogę wprowadzić dla niego plik tekstowy *txt ? :/

Kod: Zaznacz cały

man fopen
man fgets
man fread
man fstat
wystarczy lekturki?
Ogólnie jeśli chcesz cały plik wrzucić do programu:
a) przez fstat sprawdzasz wielkość pliku
b) przez malloc alokujesz pamięć (wielkość +1)
c) przez fopen/fread/fclose czytasz plik
d) wstawiasz 0 na koniec - czyli cos w stylu:

Kod: Zaznacz cały

cośtam[długość]=0
e) i teraz zapuszczasz swój algorytm zliczający słowa
Кто жопой родился, чижиком не помрёт
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: Jak wprowadzić plik tekstowy do napisanego programu w C ?

Post autor: Hauleth »

Chyba mu chodzi jak przekierować na STDIN:

Kod: Zaznacz cały

./a.out < test.in > test.out
W pliku test.in umieszczasz dane wejściowe, a w pliku test.out otrzymasz wyjście programu
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Odp: Jak wprowadzić plik tekstowy do napisanego programu w C ?

Post autor: ethanak »

Hauleth pisze:Chyba mu chodzi jak przekierować na STDIN:

Kod: Zaznacz cały

./a.out < test.in > test.out
Jeśli to było "do programu w C" to raczej nie przez stdin/stdout.
Pytanie kontrolne: zakładając że wątkotwórca jest początkujący w C, jak wprowadzisz cały plik z /dev/stdin? To akurat nie jest taka bardzo oczywista operacja...
Кто жопой родился, чижиком не помрёт
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości