📜  C / C++中的wcstol()函数

📅  最后修改于: 2021-05-25 18:36:00             🧑  作者: Mango

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

句法:

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

  • 字符串 :以整数形式开头的字符串
  • endString:这是由函数的最后一个有效的字符集后在字符串中的下一个字符。
  • base:base的有效值集为{0,2,3,…,35,36}。

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

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

下面的程序说明了上述函数:
程序1:

// C++ program to illustrate
// wcstol() function
#include 
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 
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
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。