Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah terjemahan fungsi wcstoll() dalam C/C++?

Apakah terjemahan fungsi wcstoll() dalam C/C++?

王林
王林ke hadapan
2023-09-15 17:17:02914semak imbas

Apakah terjemahan fungsi wcstoll() dalam C/C++?

wcstoll() fungsi digunakan untuk menukar rentetan lebar kepada integer panjang. Ia menetapkan penuding untuk menunjuk kepada aksara pertama selepas aksara terakhir. Sintaksnya adalah seperti berikut.

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

Fungsi ini memerlukan tiga parameter. Parameter adalah seperti berikut -

  • str: Ini adalah permulaan rentetan lebar.
  • str_end : Fungsi menetapkan str_end kepada aksara seterusnya selepas aksara sah terakhir jika ada, jika tidak, batal.
  • asas: Ini adalah pangkalan yang ditetapkan. Nilai asas boleh menjadi (0, 2, 3, …, 35, 36)

Fungsi ini mengembalikan integer panjang panjang yang ditukar. Apabila aksara menunjuk ke NULL, 0 dikembalikan.

Contoh

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

Output

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

Sekarang mari kita lihat contoh dengan nilai asas yang berbeza. Pangkalan di sini ialah 16. Dengan mendapatkan rentetan dalam pangkalan tertentu, ia akan dicetak dalam format perpuluhan.

Contoh

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

Output

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

Di sini rentetan mengandungi 5E jadi nilainya ialah perpuluhan 94 dan rentetan kedua mengandungi 125. Ini ialah 293 dalam perpuluhan.

Atas ialah kandungan terperinci Apakah terjemahan fungsi wcstoll() dalam C/C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam