Funktsioon wcstoull () tõlgendab C ++ keeles laia stringi sisu määratletud baasi allkirjastamata integraalarvuna ja tagastab selle väärtuse allkirjastamata pika pika int-na.
Funktsioon wcstoull () paneb ka kursori osutama laia stringi viimase kehtiva tähemärgi järel olevale esimesele märgile, kui see on olemas, vastasel juhul seatakse kursor nullile.
Aluse 10 ja laia stringi L "29hi $" jaoks Kehtiv arvuline osa -> 29 Esimene märk pärast kehtivat numbrilist osa -> h
See on määratletud päisefailis.
wcstoull () prototüüp
allkirjastamata pikk wcstoull (const wchar_t * str, wchar_t ** str_end, int alus);
Funktsioon wcstoull () võtab parameetriks laia stringi stringi, kursori laiale märgile str_end ja täisarvu aluse.
Seejärel tõlgendab see laia stringi sisu antud baasi allkirjastamata integraalarvuna ja tagastab allkirjastamata pika pika int-väärtuse.
wcstoull () parameetrid
- str: lai string, millel on allkirjastamata integraalnumber.
- str_end: Kursor laia tähe suunas. Funktsiooni str_end väärtuse määrab funktsioon järgmisele märgile stringis pärast viimast kehtivat tähemärki. See parameeter võib olla ka nullkursor, sel juhul seda ei kasutata.
- alus: integraalväärtuse alus. Baasi kehtivate väärtuste komplekt on (0, 2, 3,…, 35, 36).
wcstoull () Tagastusväärtus
Funktsioon wcstoull () tagastab:
- allkirjastamata pikk pikk int väärtus (mis teisendatakse stringist).
- 0, kui kehtivat teisendamist ei õnnestunud teha.
Näide 1: Kuidas funktsioon wcstoull () töötab?
#include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t str1() = L"101aau16b6"; wchar_t str2() = L"59"; wchar_t *end; unsigned long long value; int base = 10; value = wcstoull(str1, &end, base); wcout << L"String value = " << str1 << endl; wcout << L"Unsigned Long Long Int value = " << value << endl; wcout << L"End String = " << end << endl; value = wcstoull(str2, &end, base); wcout << L"String value = " << str2 << endl; wcout << L"Unsigned Long Long Int value = " << value << endl; wcout << L"End String = " << end << endl; return 0; )
Programmi käivitamisel on väljund järgmine:
Stringiväärtus = 101aa
Funktsiooni wcstoull () kehtiv täisarv sisaldab järgmist:
- Valikuline märk + või -.
- Oktaalaluse eesliide 0 (kehtib ainult siis, kui alus = 8 või 0).
- Kuueteistkümnendkohalise baasi eesliide 0x või 0X (kehtib ainult siis, kui alus = 16 või 0).
- Numbrite ja / või tähestike jada (kui alus on suurem kui 10).
Kui argument sisaldab alguses miinusmärki (-), teisendatakse negatiivne arv kaudselt allkirjastamata pika pika int tüübiks, mis on positiivne arv.
Parameetri baasi kehtivad väärtused on (0, 2, 3,…, 35, 36). Baasi 2 kehtivate numbrite komplekt on (0, 1), baasi 3 puhul on (0, 1, 2) ja nii edasi. Aluste 11–36 alustel sisaldavad kehtivad numbrid tähestikke.
Baasi 11 kehtivate numbrite komplekt on (0, 1,…, 9, A, a), baasi 12 jaoks on (0, 1,…, 9, A, a, B, b) ja nii edasi.
Näide 2: funktsioon wcstoull () erinevate alustega
#include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t *end; wchar_t str() = L"311bzu03feu03ff"; wcout << str << L" to Unsigned Long Long Int with base-5 = " << wcstoull(str, &end, 5) << endl; wcout << L"End String = " << end << endl << endl; wcout << str << L" to Unsigned Long Long Int with base-12 = " << wcstoull(str, &end, 12) << endl; wcout << L"End String = " << end << endl << endl; wcout << str << L" to Unsigned Long Long Int with base-36 = " << wcstoull(str, &end, 36) << endl; wcout << L"End String = " << end << endl << endl; return 0; )
Programmi käivitamisel on väljund järgmine:
311bzϾϿ kuni allkirjastamata pika keskmise int-5-ga = 81 lõpustring = bzϾϿ 311bzϾϿ-pikkuseta pikk-pika pikkusega int-alusega -12 = 5351 lõpp-string = zϾϿ 311bzϾϿ-pikkusega pikk-pikkusega int-alusega-36 = 5087231 stringi pikkus = ϾϿ
Funktsioon wcstoull () ignoreerib kõiki juhtivaid tühimärke, kuni leitakse esmane tühimärk.
Üldiselt on funktsiooni wcstoull () kehtiv täisarvu argument järgmisel kujul:
(tühik) (- | +) (0 | 0x) (tähtnumbrilised tähemärgid)
Seejärel, alates sellest märgist, võtab see võimalikult palju märke, mis moodustavad kehtiva täisarvu kujutise ja teisendavad need allkirjastamata pikaks int-väärtuseks. Kõik, mis jääb stringist järele pärast viimase kehtiva märgi eiramist, ei mõjuta tulemust.
Näide 3: funktsioon wcstoull () tühiku ja kehtetu teisendamise juhtimiseks
#include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t *end; wcout << L" 205u03e2x to Unsigned Long Long Int with base-5 = " << wcstoull(L" 205u03e2x", &end, 5) << endl; wcout << L"End String = " << end << endl << endl; wcout << L"xu019cz201 to Unsigned Long Long Int with base-12 = " << wcstoull(L"xu019cz201", &end, 12) << endl; wcout << L"End String = " << end << endl << endl; return 0; )
Programmi käivitamisel on väljund järgmine:
205Ϣx kuni allkirjastamata pika keskmise int-5-ga = 10 lõpustringiga = 5Ϣx xƜz201-i kuni allkirjastamata pika-pikk-int-alus-12-ga = 0-lõpp-string = xƜz201
Kui alus on 0, määratakse numbriline alus stringi vormingut vaadates automaatselt. Kui eesliide on 0, on alus kaheksand (8). Kui eesliide on 0x või 0X, on alus kuueteistkümnendsüsteem (16), vastasel juhul on alus kümnendkoht (10).
Näide 4: funktsioon wcstoull () baasiga 0
#include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t *end; wcout << L"0539u1e84 to Unsigned Long Long Int with base-0 = " << wcstoull(L"0539u1e84", &end, 0) << endl; wcout << L"End String = " << end << endl << endl; wcout << L"0xa31u05e2 to Unsigned Long Long Int with base-0 = " << wcstoull(L"0xa31u05e2", &end, 0) << endl; wcout << L"End String = " << end << endl << endl; wcout << L"119xu060f to Unsigned Long Long Int with base-0 = " << wcstoull(L"119xu060f", &end, 0) << endl; wcout << L"End String = " << end << endl << endl; return 0; )
Programmi käivitamisel on väljund järgmine:
0539Ẅ kuni allkirjastamata pika keskmise int-0-ga = 43 lõpp-string = 9Ẅ 0xa31 ע-all-pikk-pikk-pika keskmise-alus-0-ga = 0, 2609 lõpp-stringi = ע 119x ؏ kuni allkirjastamata pika keskmise pikkus-baas-0 = 119 lõpp-stringina = x ؏