C++ IOS::widen() 函式



C++ 的std::ios::widen()函式用於將字元轉換為與流關聯的區域設定中的寬字元等效項。它主要用於處理國際化,在國際化中,可能需要以寬格式表示字元才能正確處理。

widen()是std::ios_base類的成員函式,與輸入/輸出操作結合使用。

語法

以下是std::ios::widen()函式的語法。

char widen (char c) const;

引數

  • c − 表示要加寬的字元。

返回值

它返回c的寬等效項。

異常

如果丟擲異常,則流不會發生任何更改。

資料競爭

訪問流物件。

同時訪問同一個流物件可能會導致資料競爭。

示例

在下面的示例中,我們將考慮widen()函式的基本用法。

#include <iostream>
#include <locale>
int main()
{
    std::cout << std::cout.widen('A') << std::endl;
    return 0;
}

輸出

上述程式碼的輸出如下:

A

示例

考慮以下示例,我們將字串轉換為寬字元。

#include <iostream>
#include <locale>
#include <string>
#include <vector>
int main()
{
    std::ios a(nullptr);
    std::string b = "TutorialsPoint";
    std::vector<wchar_t> x;
    for (char c : b) {
        x.push_back(a.widen(c));
    }
    for (wchar_t wc : x) {
        std::wcout << wc << " ";
    }
    return 0;
}

輸出

以下是上述程式碼的輸出:

T u t o r i a l s P o i n t
ios.htm
廣告