muszę pobrać plik z terminala, wiem polecenie będzie wyglądać następująco:Jak używać przekierowanie w języku C dla wejścia plików
./a.out < fileName.txt
Nie jestem pewny jak używać fgets() w moim program do używania żądanego pliku z terminala.
muszę pobrać plik z terminala, wiem polecenie będzie wyglądać następująco:Jak używać przekierowanie w języku C dla wejścia plików
./a.out < fileName.txt
Nie jestem pewny jak używać fgets() w moim program do używania żądanego pliku z terminala.
Korzystanie przekierowania wysyła zawartość pliku wejściowego do standardowego wejścia, więc trzeba czytać ze standardowego wejścia wewnątrz kodu, więc coś jak (sprawdzanie błędów pominięte dla jasności)
#include <stdio.h>
#define BUFFERSIZE 100
int main (int argc, char *argv[])
{
char buffer[BUFFERSIZE];
fgets(buffer, BUFFERSIZE , stdin);
printf("Read: %s", buffer);
return 0;
}
You dont używać fgets
, należy użyć gets
Przekierowanie oznacza tylko, że Twój wkład Terminal będzie zawartość pliku. Ale twój program nie wie, skąd się bierze, ponieważ jest wykonywany przez system operacyjny.
1.) jesteś blisko stdin następnie przypisz do niego inną obsługę plików 2.) zmień stdin na inną obsługę plików używając funkcji dup2, którą możesz osiągnąć
"use gets" nigdy nie jest właściwą odpowiedzią. Istnieje powód, dla którego funkcja została wycofana w C99 i usunięta w C11. –