Boost logo

Boost :

From: Gavin Lambert (boost_at_[hidden])
Date: 2022-08-15 23:45:57


On 16/08/2022 11:31, Peter Dimov wrote:
> route.cpp does create a path from argv[2], but interpreting it as UTF-8 would
> probably be a feature. Using the ACP is wrong anyway as argv[2] is likely in the
> console code page.

On Windows, the application always receives command line arguments as
wchar_t. If you provide the narrow main() entrypoint method then it is
the application's runtime startup code that will convert args back to
ANSI using the ACP, not the console code page. As such, interpreting
argv as ACP is correct (albeit lossy if there were any Unicode
characters involved -- the only truly correct design is to only use the
wide entrypoint or ignore the entrypoint args and reparse from the
original Unicode string).

Also on Windows, in most cases the console code page is also the ACP,
although that is less true in more recent versions.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk