码迷,mamicode.com
首页 > 其他好文 > 详细

程序对拍

时间:2018-03-03 10:56:23      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:就会   c语言   暂停   循环   输入   这一   定位   txt   返回   

对拍是什么呢?

对拍就是你给两个程序,和一个随机数据生成器,然后系统去用这个随机数据生成器的输出

作为你这两个程序的输入,

然后比较你这两个程序的输出,可以找到一组使这两个程序输出不一样的数据(如果存在的话)

 

 

怎么对拍呢?

首先,新建一个文件夹,

然后,在里面放入std.cpp  和 my.cpp

生成std.exe  和 my.exe

然后再写一个随机数据生成器 例:数据生成.cpp ===>数据生成.exe

然后把这三个exe放入到同一文件夹下。

运行对拍程序

 

@echo off  
:loop  
    数据生成.exe > in.txt
    my.exe < in.txt > myout.txt
    std.exe < in.txt > stdout.txt
    fc myout.txt stdout.txt
if not errorlevel 1 goto loop  
pause
goto loop

 

 

解释:

 

首先@echo off 是关掉输入显示,不然你的所有命令都会显示出来的,防止刷屏。 
:loop是定位标记点,和c语言里的goto很像。 
中间是主体程序。 
if not errorlevel 1 goto loop ,errorlevel 是上一个命令的返回值,fc在文件不同时返回1,相同时返回0,这一行的意思就是,

如果fc返回的不是1,就跳到:loop,使劲循环。 
pause,暂停,一旦fc返回1,就会执行到这一行,停住程序,给你时间看数据。 
goto loop,看完数据,按下任意键结束暂停,继续循环

即如果出现不同会显示错误。否则不停止。

 

程序对拍

标签:就会   c语言   暂停   循环   输入   这一   定位   txt   返回   

原文地址:https://www.cnblogs.com/adelalove/p/8495678.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!