📅  最后修改于: 2023-12-03 14:39:53.911000             🧑  作者: Mango
C++中的wcstol()
函数是将一个宽字符数组(即wchar_t
类型的字符串)转换为长整型数值(long int
),并且提供可选的基数参数,用于指定字符数组的进制形式。该函数在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
这个十进制数值转换为十六进制数值后的结果。