Dobra mam taki pomysł (na testerkę w C++):
Stwórz tą aplikację, która wywoła program z użyciem np. funkcji std::system. Przygotuj też sobie dwa pliki: jeden będzie przechowywał wyjście, a drugi wejście (np. input.txt, output.txt). W pliku input.txt przygouj dane wejściowe dla Twojego programu. Wywołując program z użyciem std::system przekierujesz strumienie stdout i stdin z "ekranu" do tych plików (stdout -> output.txt, stdin -> input.txt). Na Windows, taki program wywołasz tak:
std::system("TWOJA_APLIKACJA < input.txt > output.txt");
U mnie to zadziałało. Dodatkowo możesz też przekierować stderr dopisując "2>&1 errors.log".
Potem Twój program testujący pobierze output z odpowidniego pliku i będzie robił z nim co chce.
To tyle. Testowałem to u siebie na kompie i działało :)
Tu masz jeszcze o przekierowywaniu: https://en.wikipedia.org/wiki/Redirection_%28computing%29