Jak wprowadzić plik tekstowy do napisanego programu w C ?
- Heron
- 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 ?
Witam, napisałem program konsolowy w C zliczający liczbę słów. Jak teraz mogę wprowadzić dla niego plik tekstowy *txt ? :/
- 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 ?
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
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
Кто жопой родился, чижиком не помрёт
- Hauleth
- 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 ?
Chyba mu chodzi jak przekierować na STDIN:
W pliku test.in umieszczasz dane wejściowe, a w pliku test.out otrzymasz wyjście programu
Kod: Zaznacz cały
./a.out < test.in > test.out
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].
Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
- 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 ?
Jeśli to było "do programu w C" to raczej nie przez stdin/stdout.Hauleth pisze:Chyba mu chodzi jak przekierować na STDIN:Kod: Zaznacz cały
./a.out < test.in > test.out
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...
Кто жопой родился, чижиком не помрёт
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości