Ц ++ вцстоулл () - Ц ++ стандардна библиотека

Функција вцстоулл () у језику Ц ++ тумачи садржај широког низа као непотписани интегрални број наведене базе и враћа његову вредност као непотписани лонг лонг инт.

Функција вцстоулл () такође поставља показивач да покаже на први знак након последњег важећег знака широког низа ако постоји, у супротном је показивач постављен на нулу.

 За базу 10 и широки низ Л "29хи $" Важећи нумерички део -> 29 Први знак након важећег нумеричког дела -> х

Дефинисано је у заглављу датотеке.

прототип вцстоулл ()

 непотписани дуги вцстоулл (цонст вцхар_т * стр, вцхар_т ** стр_енд, инт база);

Функција вцстоулл () за свој параметар узима широки низ стр, показивач на широки знак стр_енд и целобројну вредност - базу.

Затим интерпретира садржај широког низа као непотписани интегрални број дате базе и враћа непотписану лонг лонг инт вредност.

вцстоулл () параметри

  • стр: Широки низ који има приказ непотписаног интегралног броја.
  • стр_енд: Показивач на показивач на широк знак. Вредност стр_енд функција поставља на следећи знак у стр након последњег важећег знака. Овај параметар такође може бити нулти показивач и у том случају се не користи.
  • основа: База интегралне вредности. Скуп важећих вредности за базу је (0, 2, 3,…, 35, 36).

вцстоулл () Повратна вредност

Функција вцстоулл () враћа:

  • непотписана лонг лонг инт вредност (која се конвертује из низа).
  • 0 ако није могла да се изврши ваљана конверзија.

Пример 1: Како функционише функција вцстоулл ()?

 #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; )

Када покренете програм, излаз ће бити:

 Вредност низа = 101аа ᚶ Непотписана дугачка дуга Инт вредност = 101 крајња ниска = аа ᚶ Вредност низа = 59 Непотписана дугачка дугачка вредност = 59 Крајња низа =

Важећа целобројна вредност за функцију вцстоулл () састоји се од:

  • Опционални знак + или -.
  • Префикс 0 за осминску базу (односи се само када је основа = 8 или 0).
  • Префикс 0к или 0Кс за хексадецималну базу (примењује се само када је база = 16 или 0).
  • Низ цифара и / или абецеда (ако је база већа од 10).

Ако аргумент на почетку садржи знак минус (-), негативни број се имплицитно претвара у непотписани лонг лонг инт тип који је позитиван број.

Важеће вредности за базу параметара су (0, 2, 3,…, 35, 36). Скуп важећих цифара за базу 2 је (0, 1), за базу 3 је (0, 1, 2) и тако даље. За базе које почињу од 11 до 36, важеће цифре укључују абецеду.

Скуп важећих цифара за базу 11 је (0, 1, …, 9, А, а), за базу 12 је (0, 1, …, 9, А, а, Б, б) и тако даље.

Пример 2: вцстоулл () функција са различитим основама

 #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; )

Када покренете програм, излаз ће бити:

 311бзϾϿ у Неподписани Лонг Лонг Инт са базом-5 = 81 Крајњи низ = бзϾϿ 311бзϾϿ у Непотписани Лонг Лонг Инт са базом-12 = 5351 Крај Стринг = зϾϿ 311бзϾϿ у Непотписани Лонг Лонг Инт са басе-36 = 5087231 Крајњи низ = ϾϿ

Функција вцстоулл () занемарује све водеће размаке док не пронађе примарни не-размак.

Генерално, важећи целобројни аргумент за функцију вцстоулл () има следећи облик:

 (размак) (- | +) (0 | 0к) (алфанумерички знакови)

Затим, почевши од овог знака, потребно је што више знакова који чине ваљану целобројну представу и претварају их у непотписану дугу инт вредност. Шта год је остало од низа након последњег важећег знака, занемарује се и нема утицаја на резултат.

Пример 3: функција вцстоулл () за водеће размаке и неважећу конверзију

 #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; )

Када покренете програм, излаз ће бити:

 205Ϣк до Непотписаних дугих дугих инт са базом-5 = 10 Завршни низ = 5Ϣк кƜз201 до Непотписаних дугих дугих инт са базом-12 = 0 Завршни низ = кƜз201

Ако је основа 0, нумеричка основа се аутоматски одређује гледањем формата низа. Ако је префикс 0, основа је осминска (8). Ако је префикс 0к или 0Кс, основа је хексадецимална (16), иначе је база децимална (10).

Пример 4: вцстоулл () функција са базом 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; )

Када покренете програм, излаз ће бити:

 0539У у Непотписани дугачки дуги инт са базом-0 = 43 Крајњи низ = 9У 0ка31 ע у Непотписани дугачки дуги инт са базом-0 = 2609 Крајњи низ = ע 119к ؏ у Непотписани дугачки дуги инт са базом-0 = 119 Крајњи низ = к ؏

Занимљиви Чланци...