Postoji li neki prenosiv način na GNU prevodiocima da prihvatim argument komandne linije, koji mora biti tipa char*, a predstavlja ono što Qt zove Local8Bit coding, ali ja bih izbegao da uvlačim ceo Qt. Evo šta sam pokušao:
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.
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.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.