如何用批處理對C語言程序進行批改?

想寫一個批處理,用來對一個寫好的的C語言程序進行測試,目前找到了取出C語言輸出(printf)的辦法,但是不知道如何把輸入數據(存放在txt中)送入C語言程序(使用scanf讀取)?


干這些事情:

對於目錄中每一個.c後綴的文件://for指令,具體語法忘了
調用編譯器編譯
if 錯誤代碼不是0 //算錯
程序.exe &< 輸入.txt &> 輸出.txt
if 錯誤代碼不是0 //算錯
檢查輸入文件 //錯的算錯
)


學生作業是知乎抄的,助教批改作業也是知乎抄的


題主知道Online Judge嗎


一行命令就夠了

find . -name 「*.c"|xargs -L1 -I{} 「gcc {} -o {}.out ./{}.out?{}.out.txt diff {}.out.txt expect.txt"


運行:

程序.exe &<輸入.txt &>輸出.txt


既然已經有人答過了,我就補充一下。

批處理中的&<&>與命令沒有先後順序的要求,也就是說,可以寫成

&>輸出.txt &<輸入.txt 程序.exe

注意文件名不能有空格

……

有人說管道符,我想了想,這樣命令更複雜,因此忽略。

不過……

你的那個c語言程序能否支持這樣?

程序.exe 輸入.txt

我記得c語言有個函數可以讀取的。


推薦閱讀:

TAG:C編程語言 | C | 批處理 | CC | DOS |