Ha... oczywiście jeśli masz plik to możesz przekierować go w czasie uruchamiania programu. Czasem jednak do testów interakcji z programem (typowe "nagranie odpowiedzi"), przydaje się to:
std::ifstream in("innput_file.txt");
std::streambuf *cinbuf = std::cin.rdbuf(); // Zapisanie starego bufora konsoli...
std::cin.rdbuf(in.rdbuf()); // Przekierowanie std::cin z pliku wejściowego
Tak samo można to zrobić dla pliku wejściowego.