This windows specific code executes without error but does not actually redirect anything. It confuses me as to why.
Code:
HANDLE hStdOut = ::GetStdHandle(STD_OUTPUT_HANDLE);
HANDLE hFile = ::CreateFile
("C:\\abc.txt", GENERIC_WRITE,
FILE_SHARE_READ, 0, CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL, 0);
if(hFile != INVALID_HANDLE_VALUE)
{
if(::SetStdHandle(STD_OUTPUT_HANDLE, hFile))
{
std::cout << "Testing\n";
}
else
std::cout << "Failed\n";
::SetStdHandle(STD_OUTPUT_HANDLE, hStdOut);
::CloseHandle(hFile);
}
else
std::cout << "INVALID_HANDLE_VALUE: " << ::GetLastError() << std::endl;