Hàm wcstoll () được sử dụng để chuyển đổi chuỗi ký tự rộng thành số nguyên dài dài. Nó đặt con trỏ trỏ đến ký tự đầu tiên sau ký tự cuối cùng. Cú pháp như dưới đây.
long long wcstoll(const wchar_t* str, wchar_t** str_end, int base)
Hàm này có ba đối số. Những đối số này giống như bên dưới -
- str: Đây là bước khởi đầu của một chuỗi rộng.
- str_end: Hàm str_end được hàm đặt thành ký tự tiếp theo, sau ký tự hợp lệ cuối cùng, nếu có bất kỳ ký tự nào, nếu không thì null.
- cơ sở: Điều này chỉ định cơ sở. Các giá trị cơ bản có thể là (0, 2, 3,…, 35, 36)
Hàm này trả về số nguyên dài dài đã được chuyển đổi. Khi ký tự trỏ đến NULL, nó sẽ trả về 0.
Ví dụ
#include <iostream> using namespace std; main() { //Define two wide character string wchar_t string1[] = L"777HelloWorld"; wchar_t string2[] = L"565Hello"; wchar_t* End; //The end pointer int base = 10; int value; value = wcstoll(string1, &End, base); wcout << "The string Value = " << string1 << "\n"; wcout << "Long Long Int value = " << value << "\n"; wcout << "End String = " << End << "\n"; //remaining string after long long integer value = wcstoll(string2, &End, base); wcout << "\nThe string Value = " << string2 << "\n"; wcout << "Long Long Int value = " << value << "\n"; wcout << "End String = " << End; //remaining string after long long integer }
Đầu ra
The string Value = 777HelloWorld Long Long Int value = 777 End String = HelloWorld The string Value = 565Hello Long Long Int value = 565 End String = Hello
Bây giờ Chúng ta hãy xem ví dụ với một giá trị cơ bản khác. Ở đây cơ số là 16. Bằng cách lấy chuỗi của cơ số đã cho, nó sẽ in ở định dạng thập phân.
Ví dụ
#include <iostream> using namespace std; main() { //Define two wide character string wchar_t string1[] = L"5EHelloWorld"; wchar_t string2[] = L"125Hello"; wchar_t* End; //The end pointer int base = 16; int value; value = wcstoll(string1, &End, base); wcout << "The string Value = " << string1 << "\n"; wcout << "Long Long Int value = " << value << "\n"; wcout << "End String = " << End << "\n"; //remaining string after long long integer value = wcstoll(string2, &End, base); wcout << "\nThe string Value = " << string2 << "\n"; wcout << "Long Long Int value = " << value << "\n"; wcout << "End String = " << End; //remaining string after long long integer }
Đầu ra
The string Value = 5EHelloWorld Long Long Int value = 94 End String = HelloWorld The string Value = 125Hello Long Long Int value = 293 End String = Hello
Ở đây, chuỗi chứa 5E nên giá trị của nó là 94 ở dạng thập phân và chuỗi thứ hai chứa 125. Đây là 293 ở dạng thập phân.