C++ IOS::narrow() 函式



C++ 的std::ios::narrow()函式是一個用於將寬字元字串 (wchar_t*) 轉換為窄字元字串 (char*) 的實用程式。它與處理輸入/輸出操作的 ios 類一起使用。它接收一個寬字元字串和一個預設字元(用於處理無法進行轉換的情況),並返回一個窄字元字串。

語法

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

char narrow (char c, char dfault) const;

引數

  • c − 表示要縮窄的字元。
  • dfault − 如果 c 沒有標準等價物,則表示要返回的字元。

返回值

它返回字串的窄字元,否則返回預設字元。

異常

如果丟擲異常,則流中沒有任何更改。

資料競爭

訪問流物件。

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

示例

在下面的示例中,我們將考慮基本的寬字元到窄字元的轉換。

#include <iostream>
#include <string>
#include <locale>
#include <codecvt>
int main()
{
    std::wstring x = L"Welcome To, TurorialsPoint!";
    std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
    std::string y = converter.to_bytes(x);
    std::cout << "Result : " << y << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

Result : Welcome To, TurorialsPoint!

示例

考慮以下示例,我們將執行空寬字串轉換並觀察輸出。

#include <iostream>
#include <string>
#include <locale>
#include <codecvt>
int main()
{
    std::wstring x = L"";
    std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
    std::string y = converter.to_bytes(x);
    std::cout << "Result : '" << y << "'" << std::endl;
    return 0;
}

輸出

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

Result : ''
ios.htm
廣告