Code:
int main(int argc, const char* argv[]) {
if (argc == 2) {
wchar_t buffer[1000];
cout << mbstowcs(buffer, argv[1], 999) << endl;
//...
}
}
int main(int argc, const char* argv[]) {
if (argc == 2) {
wchar_t buffer[1000];
cout << mbstowcs(buffer, argv[1], 999) << endl;
//...
}
}
Dobijam na izlazu 4294967295. To je vrednost (size_t) -1. U dokumentaciji za funkciju mbstowcs piše da ta povratna vrednost znači da na ulazu nije bio ispravan multibajt string.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.

Prihvatanje unicode argumenata komandne linije