AllocConsole();

HANDLE hin = ::GetStdHandle(STD_INPUT_HANDLE);
HANDLE hout = ::GetStdHandle(STD_OUTPUT_HANDLE);
int hcin = _open_osfhandle((intptr_t)hin,_O_TEXT);
FILE* fpin = _fdopen(hcin,"r");
*stdin = *fpin;

int hcout = _open_osfhandle((intptr_t)hout,_O_TEXT);
FILE* fpout = _fdopen(hcout,"wt");
*stdout = *fpout;

std::ios_base::sync_with_stdio();
std::cout << "test";

int i;
std::cin >> i;

std::cout << i;

HANDLE hin = ::GetStdHandle(STD_INPUT_HANDLE);
HANDLE hout = ::GetStdHandle(STD_OUTPUT_HANDLE);
int hcin = _open_osfhandle((intptr_t)hin,_O_TEXT);
FILE* fpin = _fdopen(hcin,"r");
*stdin = *fpin; 
int hcout = _open_osfhandle((intptr_t)hout,_O_TEXT);
FILE* fpout = _fdopen(hcout,"wt");
*stdout = *fpout;
std::ios_base::sync_with_stdio();
std::cout << "test";
int i;
std::cin >> i;
std::cout << i;

本文介绍如何使用C++进行控制台的输入输出重定向,并通过具体代码示例展示了如何实现这一过程。

565

被折叠的 条评论
为什么被折叠?



