Re: Redirecting standard streams in Windows

2023-07-19 Thread Alexander Zhirov via Digitalmars-d-learn
On Wednesday, 19 July 2023 at 00:13:04 UTC, Adam D Ruppe wrote: How does the cat program know what the encoding of the file is? Try opening it in notepad or something and specifying the encoding. I betcha it is perfectly fine. Strange. Everything works correctly on the command line. And the

Re: Redirecting standard streams in Windows

2023-07-18 Thread Adam D Ruppe via Digitalmars-d-learn
On Tuesday, 18 July 2023 at 23:52:06 UTC, Alexander Zhirov wrote: PS C:\dlang\test> cat .\stderr.txt How does the cat program know what the encoding of the file is? Try opening it in notepad or something and specifying the encoding. I betcha it is perfectly fine.

Re: Redirecting standard streams in Windows

2023-07-18 Thread Alexander Zhirov via Digitalmars-d-learn
On Tuesday, 18 July 2023 at 22:09:40 UTC, Adam D Ruppe wrote: You need to use WriteFile when it is redirected, which you can detect with GetFileType to see if it is a character device or not. The redirection issue has been resolved. Another one has now emerged. Since I have unicode, I need to

Re: Redirecting standard streams in Windows

2023-07-18 Thread Alexander Zhirov via Digitalmars-d-learn
On Tuesday, 18 July 2023 at 22:12:17 UTC, Alexander Zhirov wrote: with threads streams*

Re: Redirecting standard streams in Windows

2023-07-18 Thread Alexander Zhirov via Digitalmars-d-learn
On Tuesday, 18 July 2023 at 22:09:40 UTC, Adam D Ruppe wrote: On Tuesday, 18 July 2023 at 21:31:54 UTC, Alexander Zhirov wrote: HANDLE h_stdout = GetStdHandle(STD_OUTPUT_HANDLE); WriteConsoleW(h_stderr, str.ptr, cast(DWORD)str.length, NULL, NULL); If you checked the return value of t

Re: Redirecting standard streams in Windows

2023-07-18 Thread Adam D Ruppe via Digitalmars-d-learn
On Tuesday, 18 July 2023 at 21:31:54 UTC, Alexander Zhirov wrote: HANDLE h_stdout = GetStdHandle(STD_OUTPUT_HANDLE); WriteConsoleW(h_stderr, str.ptr, cast(DWORD)str.length, NULL, NULL); If you checked the return value of this call, you'd find it fails since WriteConsole only works if

Redirecting standard streams in Windows

2023-07-18 Thread Alexander Zhirov via Digitalmars-d-learn
I'm trying to redirect unicode in the windows console, but when redirecting, empty files are created. If i do it without redirects, then the text is displayed correctly in the console: ```d import core.sys.windows.windows; import std.stdio; void main() { wstring str = "Just text..."; H