如何用批處理對C語言程序進行批改?
02-05
想寫一個批處理,用來對一個寫好的的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語言有個函數可以讀取的。推薦閱讀: