[nowide] Cannot end input using ^Z/^D on Windows
On 24/04/2015 19:23, Yuan Yao wrote:
I try to get input via boost::nowide::cin. However, I cannot not end the stream with ^Z/^D.
It seems that nowide::details::console_input_buffer::read recognizes ^Z/^D as a regular character.
This would be a consequence of opening the stream in binary mode rather than text mode. (Text mode will only recognise ^Z.) I'm not sufficiently familiar with nowide to tell you whether this is something you can fix in the application or whether it will require a fix to nowide, or if this is intentional for some reason.
What ReadConsoleW should return in such a case?.. I hadn't tested the "EOF" feature of the console. Can you put some debug code to iostream.cpp:171 to see what ReadConsoleW returns? Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ ----- Original Message -----
From: Gavin Lambert
To: boost-users@lists.boost.org Cc: Sent: Friday, April 24, 2015 11:59 AM Subject: Re: [Boost-users] [nowide] Cannot end input using ^Z/^D on Windows On 24/04/2015 19:23, Yuan Yao wrote:
I try to get input via boost::nowide::cin. However, I cannot not end the stream with ^Z/^D.
It seems that nowide::details::console_input_buffer::read recognizes ^Z/^D as a regular character.
This would be a consequence of opening the stream in binary mode rather than text mode. (Text mode will only recognise ^Z.)
I'm not sufficiently familiar with nowide to tell you whether this is something you can fix in the application or whether it will require a fix to nowide, or if this is intentional for some reason.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (3)
-
Artyom Beilis
-
Gavin Lambert
-
Yuan Yao