#include <Windows.h>
#include <stdio.h>
#include <iostream>
int main(int argc, char *argv[])
{
::AllocConsole();
::SetConsoleTitleA("Cao Shang Pa");
::freopen("CONOUT$", "w", stdout);
std::cout << "My Love" << std::endl;
Sleep(10000);
::FreeConsole();
return 0;
}
freopen函数用来替换一个流,或者说重新分配文件指针,以实现重定向。可重定向的流有:标准输入流、标准输出流或者标准错误流。其函数原型为:
FILE *freopen(const char *path, const char *mode, FILE *stream);
其中"CONOUT$"是指代当前console的特殊字符串,"w"表明以written模式打开这个console,stdout指代标准输出流。
CONOUT$ --Console output
CONIN$ --Console input