Thesh wrote:1) Provides easy parsing of command line options while also formatting a help screen (I know Glib has this, but I don't think it meets my second requirement and it's kind of bulky if I'm just using it for that)
Does it have to be C, or can it be C++? There are a couple okayish ones for C++, but I don't know any for C -- getopt_long may be the best there, and it's not very good. (It doesn't meet your second requirement and I don't know if there's a MSVC build and it may be GPL-only.)
For C++ you have Boost::program_options and gflags.
Neither is wonderful, and both have their benefits. I tend to prefer Boost's and a lot of the time it doesn't add an extra dependency, but gflags has a nice facility that lets you declare flags in a decentralized manner, which is nice. (You could rig something up for Boost, but you'd have to do it.)
There are a couple other libraries you can find as well, but I didn't run across anything that's C. (I was looking for one that's well-suited for writing wrapper programs, which neither of those nor TCLAP currently is. After looking at those three I gave up and patched Boost. ) <troll>Why are you using C anyway?</troll>
2) Allows me to read a password from the command line as wchar_t (which I will then convert to utf8 using ICU), preferably while also allocating memory for the string, and, of course, while hiding the keystrokes.
This I don't know a library for.