2010-06-08 5 views
1

J'ai une application console écrite en C++. Il lit simplement un entier à partir de l'entrée standard (clavier) et écrit un autre entier sur la sortie standard (écran). Maintenant, je veux donner quelques tests à ce programme et vérifier ses réponses en utilisant un autre programme. En d'autres termes, je veux écrire un juge d'électron pour ce programme. Je veux que ce programme (que je veux tester) pour lire du fichier et écrire dans le fichier sans changer le code source. Comment puis je faire ça. J'ai essayé d'affecter l'entrée & à des fichiers avant d'exécuter le programme C++, mais cela n'a pas fonctionné.Comment puis-je changer l'entrée/sortie standard d'un autre programme?

assign(input,'temp.in'); 
reset(input); 
assign(output,'temp.out'); 
rewrite(output); 
exec('domino.exe'); 
close(input); 
close(output); 

Répondre

0

Une solution simple consiste à rediriger l'entrée et la sortie standard lors de l'exécution de votre programme à partir de votre coquille, comme ceci:

./someProgram <inputFile.txt> outputFile.txt 

Le < précède le fichier d'entrée et le > précède le fichier de sortie.

+0

est, j'utilise Windows –

+1

Il fonctionne aussi dans un shell 'cmd': http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection. mspx? mfr = true –

+0

Merci beaucoup. Cela m'a beaucoup aidé. –

Questions connexes