我目前是 C类入门的助教。这门课是使用 Visual Studio 教授的,但是在评分时,我只使用一个简单的 Windows 批处理脚本来处理所有提交的作业、编译它们、在测试文件上运行它们,并将输出重定向到我可以打印的一系列文本文件出来,做标记,然后交还给学生。整个过程运行得很好,除了当我重定向标准输入时,它不会像直接在控制台中输入相同的标准输入时那样出现在重定向的标准输出中。因此,为控制台格式化的代码输出不会在重定向输出中正确显示。以下文件片段显示了此问题。有谁知道一个简单的解决方案?
文件:example.c
#include <stdio.h>
int main()
{
int v;
printf("Enter a number: ");
scanf("%i", &v);
printf("You entered: %d\n", v);
return 0;
}
文件:输入.txt
42
输出(控制台)
C:\>example.exe
Enter a number: 42
You entered: 42
C:\>
输出(重定向)
C:\>example.exe < input.txt > output.txt
C:\>more output.txt
Enter a number: You entered: 42
C:\>