Przekierowanie z pliku, pobieranie danych

0

Witam!
Obecnie pracuję z tematem przekierowań strumieni dla wprowadzania danych z pliku .txt. Czy istnieje możliwość przekierowania strumienia w taki sposob by wszystkie dane zostały pobrane z pliku? Wyjaśnienie, plik txt zawiera określoną liczbę linii. Każda z linii zawiera dane potrzebne do jednokrotnego wykonania programu. Chciałbym by program był wykonywany aż do momentu końca pliku. Czy jest możliwe wykonanie takiego przekierowania? ( jednym z rozwiązań jest na samym początku pliku liczby wykonań, lecz wolałbym uniknąć tego) Dziękuję za pomoc!

0
rolniczy napisał(a):

Witam!

Każda z linii zawiera dane potrzebne do jednokrotnego wykonania programu. Chciałbym by program był wykonywany aż do momentu końca pliku.

Czy aby pierwsze zdanie nie przeczy drugiemu?

Załóżmy, że plik zadania.txt zawiera:

zadanie nr1
zadanie nr2
zadanie nr3

program wykonujący zadanie main.cpp:

#include <iostream>
#include <string>

int main() {
    string zadanie;
    std::getline(std::cin, zadanie); // pobierz zadanie ze standardowego wejścia
    std::cout << "wykonuje: " << zadanie << std::endl;
    return 0;
}

polecenie w bash wielokrotnego wywołania programu main dla każdej linii w pliku zadania.txt:

$ < zadania.txt xargs -I{} bash -c "echo {} | ./main"

wynik:

wykonuje: zadanie nr1
wykonuje: zadanie nr2
wykonuje: zadanie nr3

Czy o takie zachowanie ci chodziło?

1 użytkowników online, w tym zalogowanych: 0, gości: 1