Jeżeli Twój program zostanie wywołany w taki sposób (np. przy użyciu CMD):
program.exe < plik.txt
to strumień wejścia w tym programie zostanie przekierowany na podany plik, czyli stdin (std::cin) będzie się odnosiło do tego pliku.
Spróbuj taki program
#include <iostream>
#include <string>
int main() {
std::string text;
std::cin >> text;
std::cout << "Text: " << text << '\n';
}
wywołać przy użyciu Twojej instrukcji z takim plikiem txt:
TestText
Na konsoli powinno zostać wyświetlone:
Text: TestText