std::fputwc

From cppreference.com
< cpp‎ | io‎ | c
 
 
 
C-style I/O
Types and objects
Functions
File access
Direct input/output
Unformatted input/output
Formatted input
(C++11)(C++11)(C++11)    
(C++11)(C++11)(C++11)    
 
Defined in header <cwchar>
std::wint_t fputwc( wchar_t ch, std::FILE* stream );
(1)
std::wint_t putwc( wchar_t ch, std::FILE* stream );
(2)

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

2) May be implemented as a macro and may evaluate stream more than once.

Parameters

ch - wide character to be written
stream - the output stream

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;
}

Possible output:

∀
∀

See also

writes a character to a file stream
(function)
writes a wide string to a file stream
(function)
gets a wide character from a file stream
(function)
C documentation for fputwc