std::fputwc

Header: <cwchar>

Writes a wide character ch to the given output stream stream.

# Declarations

std::wint_t fputwc( wchar_t ch, std::FILE* stream );
std::wint_t putwc( wchar_t ch, std::FILE* stream );

# Parameters

# Return value

ch on success, WEOF on failure. If an encoding error occurs, errno is set to EILSEQ.

# Example

#include <cerrno>
#include <clocale>
#include <cstdio>
#include <cstdlib>
#include <cwchar>
#include <initializer_list>
 
int main()
{
    std::setlocale(LC_ALL, "en_US.utf8");
 
    for (const wchar_t ch :
    {
        L'\u2200', // Unicode name: "FOR ALL"
        L'\n',
        L'∀',
    })
    {
        if (errno = 0; std::fputwc(ch, stdout) == WEOF)
        {
            std::puts(errno == EILSEQ
                ? "Encoding error in fputwc"
                : "I/O error in fputwc"
            );
            return EXIT_FAILURE;
        }
    }
    return EXIT_SUCCESS;
}

# See also