📜  C++ wcstol()(1)

📅  最后修改于: 2023-12-03 14:39:53.911000             🧑  作者: Mango

C++ wcstol() 函数介绍

简介

C++中的wcstol()函数是将一个宽字符数组(即wchar_t类型的字符串)转换为长整型数值(long int),并且提供可选的基数参数,用于指定字符数组的进制形式。该函数在 / <stdlib.h>头文件中声明。以下是wcstol()函数的声明:

long int wcstol(const wchar_t* str, wchar_t** endptr, int base);
参数
  • str :要转换的宽字符数组
  • endptr :指向转换过程中未转换部分的指针,如果未提供该参数,则该参数默认为NULL
  • base :可选的参数,用于指定字符数组的进制类型。如果不指定该参数,则采用默认的十进制表示法。
返回值
  • long int类型数值,表示转换后的数值。如果字符数组无法转换,则返回0。
示例

以下是使用wcstol()函数将宽字符数组转换为长整型数值的示例:

#include <iostream>
#include <cstdlib>

using namespace std;

int main() {
    wchar_t s[] = L"12345";
    wchar_t *endptr;
    long int num = wcstol(s, &endptr, 10);
    cout << "转换后的数值为:" << num << endl;
    return 0;
}

上述代码的输出结果为:

转换后的数值为:12345

示例中使用了宽字符常量L表示字符串12345,并将转换后的数值存储在num变量中。如果要在程序中将该字符串转换为十六进制形式,则可以修改代码如下:

long int num = wcstol(s, &endptr, 16);

输出结果将为:

转换后的数值为:74565

上述结果表示将12345这个十进制数值转换为十六进制数值后的结果。