用VSCode终端实现重定向比较程序输出和正确输出

本文介绍了如何使用VSCode终端通过输入输出重定向和Windows批处理文件来比较程序输出与正确输出,避免手动复制粘贴和肉眼检查的不便。通过创建input.txt、output.txt和correct.txt文件,结合批处理文件中的fc命令,可以自动化地验证程序的正确性。此外,还介绍了如何进行程序对拍以定位程序错误。
摘要由CSDN通过智能技术生成

用 VSCode 终端实现重定向比较程序输出和正确输出

在刷 OJ 题目或者进行编程考试或比赛时,经常需要对编写好的程序进行测试,即运行编写好的程序,输入样例输入或者自己编写的输入数据,查看程序输出结果和样例输出或者正确输出是否一致。这种方法有很多弊端,当有多组输入数据或程序运行结果多次错误时,需要多次复制粘贴输入数据,这个过程非常繁琐而且浪费时间;用肉眼检查程序输出和正确输出是否一致很容易出错,尤其是当输出数据非常多时。所以,我在这篇博客里介绍一下通过输入输出重定向和 windows 批处理文件比较程序输出和正确输出的方法。由于 VSCode 能够编写任意格式的文件且自带终端,本博客基于 VSCode 编写代码。如果你没有安装 VSCode,可以参考挑把趁手的兵器——VSCode 配置 C/C++学习环境(小白向)安装 VSCode 并配置 C/C++环境。当然使用你常用的编辑器/IDE,并利用 powershell 或 DOS 窗口运行程序 windows 脚本也是可以的。

概念介绍

  1. 输入输出重定向:最常见的输入输出是标准输入输出,即读键盘输入、写屏幕。但当我们希望在文件中准备好输入数据,将输出或错误信息输入到另一个文件中时,就需要使用重定向。本博客介绍的方法就是将输入数据保存在一个 input.txt 文件中,运行程序时,让程序从 input.txt 文件读取数据,将程序输出数据保存在另一个 output.txt 文件中,从而就避免了多次复制粘贴输入数据的繁琐步骤。
  2. windows 批处理文件:批处理,顾名思义就是进行批量的处理。批处理文件是扩展名为.bat 或.cmd 的文本文件,包含一条或多条命令,由 DOS 或 Windows 系统内嵌的命令解释器来解释运行。本博客提出的方法使用的是 windows 批处理文件中的比较文件差异的 fc 命令。

比较程序输出和样例输出

算法题目通常都会给出多组样例输入和样例输出。用肉眼检查程序输出和样例输出是否一致很容易出错,我们可以利用 windows 脚本运行我们编写的程序并比较程序输出和样例输出是否一致。

我们可以以一个读取两个 int 数据,输出这两个数据之和的简单程序作为例子,这个程序的 C++程序代码如下:

#include <bits/stdc++.h>
using namespace std;
int main() {
   
    int a, b;
    cin >> a >> b;
    cout << a + b << "\n";
    return 0;
}

不妨将程序其命名为 test.cpp,我们不妨在 VSCode 中新建这样的 cpp 文件,如下图所示:
VSCode例图

新建三个 txt 文件 input.txt、output.txt、correct.txt,它们的作用分别为:

  1. input.txt:用于存放输入数据
  2. correct.txt:用于存放正确的输出数据
  3. output.txt:用于存放程序输出数据,这个文件不需要新建和删除,运行 windows 批处理文件后会自动生成

我们不妨在 input.txt 文件中写入1 2作为输入数据,在 correct.txt 写入3<

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值