【贴出大学里写的博客,挺有意思的.】
这是大学里最后一个本科项目(设计开发一个包括类似于ACM在线判题的系统),最近做了一些程序判题模块的事情,要在图形界面下跟DOS控制台互相“通信”,。
刚开始时认为只要用一些DOS命令行,再通过Windows函数system(str)传进去就能解决问题。 很简单,查阅了一些简单的命令,实现如下: 假设机器上C装有Dev-C++(GNU),C上有源文件,并将目标文件放在C上。如下命令就可完成编译: C:/Dev-Cpp/bin/g++.exe -Wno-deprecated C:/1.cpp -o C:/1.exe 下一步就是如何将是判断运行结果是否正确,很显然,会想到用DOS重定向去比对结果,
所以就想办法去隐藏控制台,当然system(*)函数不能用了,费了些时间找到了Windows API 的Winexec(,);,好高兴,因为它能方便的去隐藏控制台只要在后面用一个SW_HIDE参数即可。 后来发现老出错,这就怪了,怎么会有错呢?真是百思不得其解,以为程序有逻辑错,调了很长时间,没有结果,真伤心。
现在已经基本实现了,后续资料将尽快贴出。2007-5-20 |