Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Hàm wcstoll() trong C/C++

Hàm wcstoll() dùng để chuyển đổi chuỗi ký tự rộng (wide character string) sang số nguyên long long. Nó thiết lập con trỏ trỏ đến ký tự đầu tiên sau ký tự hợp lệ cuối cùng. Cú pháp:

long long wcstoll(const wchar_t* str, wchar_t** str_end, int base)

Hàm nhận 3 đối số:

  • str: Địa chỉ bắt đầu của chuỗi rộng.
  • str_end: Được thiết lập bởi hàm trỏ đến ký tự tiếp theo sau ký tự hợp lệ cuối cùng, hoặc null nếu không có.
  • base: Cơ số (0, 2, 3, ..., 35, 36).

Hàm trả về số nguyên long long đã chuyển đổi. Khi con trỏ trỏ đến NULL, trả về 0.

Ví dụ 1: Cơ số 10

#include <iostream>
using namespace std;

int main() {
    wchar_t string1[] = L"777HelloWorld";
    wchar_t string2[] = L"565Hello";
    wchar_t* End;
    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";

    value = wcstoll(string2, &End, base);
    wcout << "\nThe string Value = " << string2 << "\n";
    wcout << "Long Long Int value = " << value << "\n";
    wcout << "End String = " << End;
    return 0;
}

Kết quả

The string Value = 777HelloWorld
Long Long Int value = 777
End String = HelloWorld

The string Value = 565Hello
Long Long Int value = 565
End String = Hello

Ví dụ 2: Cơ số 16

#include <iostream>
using namespace std;

int main() {
    wchar_t string1[] = L"5EHelloWorld";
    wchar_t string2[] = L"125Hello";
    wchar_t* End;
    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";

    value = wcstoll(string2, &End, base);
    wcout << "\nThe string Value = " << string2 << "\n";
    wcout << "Long Long Int value = " << value << "\n";
    wcout << "End String = " << End;
    return 0;
}

Kết quả

The string Value = 5EHelloWorld
Long Long Int value = 94
End String = HelloWorld

The string Value = 125Hello
Long Long Int value = 293
End String = Hello

Chuỗi chứa 5E (hex) = 94 (dec), chuỗi 125 (hex) = 293 (dec).