From: John Maddock (John_Maddock_at_[hidden])
Date: 2002-01-30 07:07:35
>Using locales, you can lexicographically compare strings. However, in
>context, you need to compare strings while ignoring case, and I don't
>that being part of the locale framework.
You can do case conversion using the std::ctype facet, but there is no
caseless string compare facility as such.
BTW the situation is much more complex that one would think - case
sensitivity is a property of the pathname itself, and not the platform on
which it is running.
Consider that NT does support case sensitive filesystems - in which case
the case sensitivity is dependent upon the drivename (see
GetVolumeInformation). However on unix systems you can mount a case
insensitive filesystems within a case sensitive one, throw in symbolic
links and the whether comparison is case sensitive changes with each part
of the pathname: so with /foo/bar the foo part may be case sensitive and
the bar part case insensitive.
- John Maddock
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk