当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ wcstol()用法及代码示例


C /C++中的wcstol()函数将给定的宽字符串转换为长整数。此函数将指针设置为指向宽字符串的最后一个有效字符之后的第一个字符(如果存在),否则,该指针将设置为null。此函数将忽略所有前导空白字符,直到找到主要的非空白字符为止。

用法:

long int wcstol( const wchar_t* str, wchar_t** endString, int base )



参数:该函数接受三个强制性参数,如下所述:

  • string : 以整数形式开头的字符串。
  • endString : 通过函数将其设置为字符串中最后一个有效字符之后的下一个字符。
  • base : base的有效值集为{0,2,3,…,35,36}。

返回值:该函数返回两个值,如下所示:

  • 成功后,函数将转换后的整数返回为long int值。
  • 如果无法执行有效的转换,则返回零。
  • 如果读取的值超出了可表示值的范围,且该值超出long int范围,则该函数返回LONG_MAX或LONG_MIN(在),并将errno设置为ERANGE。

以下示例程序旨在说明上述函数:
示例1:

// C++ program to illustrate 
// wcstol() function 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
    // initialize the string 
    wchar_t string[] = L"101GeeksForGeeks"; 
  
    // initialize the base 
    int base = 3; 
    wchar_t* endString; 
  
    // print the long integer value with the end string 
    long value = wcstol(string, &endString, base); 
    wcout << L"String value --> " << string << "\n"; 
    wcout << L"Long integer value --> " << value << "\n"; 
    wcout << L"End String = " << endString << "\n"; 
  
    return 0; 
}
输出:
String value --> 101GeeksForGeeks
Long integer value --> 10
End String = GeeksForGeeks

程序具有不同的基础:
示例2:

// C++ program to illustrate 
// wcstol() function 
// with different bases 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
    // initialize the string 
    wchar_t string[] = L"101GFG"; 
  
    // initialize the base 
  
    wchar_t* endString; 
  
    // print the long integer value with the end string 
    // with base 2 
    long value = wcstol(string, &endString, 2); 
    wcout << L"String value --> " << string << "\n"; 
    wcout << L"Long integer value --> " << value << "\n"; 
    wcout << L"End String = " << endString << "\n"; 
  
    // print the long integer value with the end string 
    // with base 5 
    value = wcstol(string, &endString, 5); 
    wcout << L"String value --> " << string << "\n"; 
    wcout << L"Long integer value --> " << value << "\n"; 
    wcout << L"End String = " << endString << "\n"; 
  
    // print the long integer value with the end string 
    // with base 12 
    value = wcstol(string, &endString, 12); 
    wcout << L"String value --> " << string << "\n"; 
    wcout << L"Long integer value --> " << value << "\n"; 
    wcout << L"End String = " << endString << "\n"; 
  
    return 0; 
}
输出:
String value --> 101GFG
Long integer value --> 5
End String = GFG
String value --> 101GFG
Long integer value --> 26
End String = GFG
String value --> 101GFG
Long integer value --> 145
End String = GFG


相关用法


注:本文由纯净天空筛选整理自AmanSrivastava1大神的英文原创作品 wcstol() function in C/C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。