#include <iostream>
using namespace std;
int main()
{
string name;
cin >> name;
cout << "Hello " << name << "!" << endl;
return 0;
}
Mam tutaj prosty program witający użytkownika. Chcę dane wejściowe odczytywać z pliku, a wyjściowe zapisywać do pliku. Nie chodzi mi o to, aby operacja odczytu i zapisu znajdowała się w kodzie tylko dane były podawane za pomocą standardowego wejścia w terminalu.
g++ main.cpp < a.in -o a.out
Użyłem takiego polecenia. W pliku a.in znajduje się tylko imię. Chciałbym aby dane z pliku a.in były podane na standardowe wejście, a do pliku a.out zapisane zostały dane wejściowe. Niestety to nie działa. Powstaje plik a.out, ale nie da się go otworzyć. Gdy w kodzie programu usunę zmienną name i zostawię sam Hello World to ten napis prawidłowo zapisuje się do pliku. Lecz gdy podaje coś na wejściu to coś jest nie tak. W jaki sposób rozwiązać ten problem?