众所周知,在考场上写完一道题的“正解”,不和暴力对拍一下,谁也不敢说自己可以 \(AC\)。
然而,\(Windows\)批处理文件的循环经常写出 \(bug\) (起码我是这样)。
怎么办呢?这时候就轮到我们的 \(C++\) 上场了。
用 \(C++\) 写对拍器需要用到系统操作,全代码主要分为以下几个部分:
首先看文件的读写部分。在重复生成多组数据并跑出答案时,直接用我们常用 \(freopen\) 特别不方便,在这里我们使用 \(Sprinf\)。
\(Sprintf\) 函数可以大致看作 \(Printf\) 函数的升级版,但是其功能强大的多。这里不做过多介绍。
首先创建一个 \(char\) 变量,作为对系统进行操作的"工具人"。 这里我命名为 \(buf\)。然后,利用 \(sprintf\) 与 \(Windows\) 的 \(bat\) 文件语言融合版,我们可以这么写:
sprintf(buf, "get.exe > 1.in"); system(buf);
后面的 \(system\) 表示对系统进行操作,get.exe为我们的数据生成器,即油 \(cpp\) 文件编译出来的应用程序。
原文:https://www.cnblogs.com/wondering-world/p/13830057.html