当创建的应用程序不是console程序时,简单的cout、printf都是不可用的,因为没有控制台来显示这些信息。而我们有时候为了调试的方便,往往需要简单地cout一些信息。这时候我们可以自己去创建一个控制台窗口。
// 创建控制台程序AllocConsole();freopen("CONIN$", "r+t", stdin);freopen("CONOUT$", "w+t", stdout);... // 程序退出之前关闭标准输入输出fclose(stdin);fclose(stdout);
<p> 下面对上面的代码做个简单的解释:<br> AllocConsole函数是windows API主要是创建了一个控制台,做了初始化控制台的输入输出缓冲区之类的工作。而freopen函数主要是将stdin(标准输入)、stdout(标准输出)指向控制台的输入输出缓冲区。还有一点提一下,freopen中的参数,“CONIN$”和“CONOUT$”是系统保留的两个路径名,它们用来做控制台的输入(键盘)缓冲区和控制台屏幕输出缓冲区。