Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++의 wcstoll() 함수

<시간/>

wcstoll() 함수는 와이드 문자열을 긴 정수로 변환하는 데 사용됩니다. 마지막 문자 다음의 첫 번째 문자를 가리키도록 포인터를 설정합니다. 구문은 아래와 같습니다.

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

이 함수는 세 개의 인수를 취합니다. 이러한 인수는 다음과 같습니다 -

  • 문자열: 이것은 넓은 문자열의 시작입니다.
  • str_end: str_end는 문자가 있는 경우 마지막 유효한 문자 이후의 다음 문자로 함수에 의해 설정되고, 그렇지 않으면 null입니다.
  • 기본: 베이스를 지정합니다. 기본 값은 (0, 2, 3, ..., 35, 36)

이 함수는 변환된 long long 정수를 반환합니다. 문자가 NULL을 가리키면 0을 반환합니다.

#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
}

출력

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

이제 기본 값이 다른 예를 살펴보겠습니다. 여기서 밑수는 16입니다. 주어진 밑수 문자열을 가져오면 십진수 형식으로 인쇄됩니다.

#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
}

출력

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

여기서 문자열은 5E를 포함하므로 해당 값은 십진수로 94이고 두 번째 문자열은 십진수로 125를 포함합니다. 이것은 십진수로 293입니다.