W3cubDocs

/C++

std::fputwc

Defined in header <cwchar>
std::wint_t fputwc( wchar_t ch, std::FILE* stream );
std::wint_t putwc( wchar_t ch, std::FILE* stream );

Writes a wide character ch to the given output stream stream. putwc() 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 <clocale>
#include <cstdio>
#include <cstdlib>
#include <cwchar>
#include <cerrno>
#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'∀',
    })
    {
        errno = 0;
        if (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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/c/fputwc