如何在 C++ 中自动读取输入示例测试用例

howt to automate reading input sample test case in c++

我正在编写 Dijkstra 算法并且想要进行大量测试用例并且不允许手动输入,我有两个主要文件 map.txt 和 routes.txt,我想将数字作为对,如图所示sample test cases

您可以按如下方式将输入重定向到标准输入:

freopen("filepath.txt", "permission", stdin);
  • filepath:通常是给定的输入文件的名字(通常在比赛中,名字是problem-name.txt.

  • permission:一般为r或w。 r 表示与输入一起使用的读取,w 表示与输出一起使用的写入。

  • stdin 是标准输入,您可以使用它来将文件重定向到标准输入并使用普通的 cin,而 stdout 是标准输出,用于将输出重定向到文件. 在你的情况下,你可以使用

    freopen("Map.txt", "r", stdin); 从文件中读取您的输入,然后使用普通的 cin 命令,您可以使用

    freopen("Routes.txt", "w", stdout); 将结果输出到所需的文件中。