gpt4 book ai didi

c++ - 通过将文本文件发送到标准输入来自动测试 Visual Studio 中的 C++ 控制台应用程序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:36:36 25 4
gpt4 key购买 nike

我将参加我的大学下周组织的编码竞赛。我只被允许使用 C 或 C++,我更愿意使用 Visual Studio 2010 使用后者。对于每个任务,都有一个以明文形式提供给标准输入的文本输入,例如:

200 100 10
2 11

我需要一个工具来帮助我使用一些预定义的文本文件作为标准输入来运行我的代码。

在基于 unix 的系统上,我会使用类似这样的东西:

gcc mycode.cpp
./mycode.o <test1.in >result1.out
diff result1.out test1.out

有什么方法可以在 Visual Studio 2010 中实现这一点。

或者也许有人可以推荐一个具有丰富调试功能的不错的 C++ IDE,它会像这样“开箱即用”?

谨致问候,亚历山大。

最佳答案

您可以使用 Visual Studio 编译器和 Windows 命令行执行基本相同的操作:

cl /EHsc mycode.cpp
mycode.exe <test1.in >result1.out
fc result1.out test1.out

尽管您可能想要一个比 fc 更好的 diff 工具。

您还可以编写代码,以便使用流句柄(或其他一些获取和放置数据的机制)调用执行实际工作的例程,并让测试构建通过它打开的文件而不是通过文件提供数据stdinstdout。测试完成后,真正的程序只需使用 stdinstdout 句柄调用该例程。

C++ 的单元测试框架可能会帮助您实现这一点,但安装和集成其中一个框架可能比编写您自己的简单测试夹具更麻烦。

关于c++ - 通过将文本文件发送到标准输入来自动测试 Visual Studio 中的 C++ 控制台应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3121799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com