Difference between revisions of "cpp/io/c/fputc"
From cppreference.com
m (fmt) |
(The fputc function will not be a macro, instead, putc might be a macro according to the C2x standard) |
||
Line 10: | Line 10: | ||
Internally, the character is converted to {{c|unsigned char}} just before being written. | Internally, the character is converted to {{c|unsigned char}} just before being written. | ||
− | In C, [[c/io/ | + | In C, [[c/io/putc|{{c|putc()}}]] may be implemented as a macro, which is disallowed in C++. Therefore, calls to {{c|std::fputc()}} and {{c|std::putc()}} always have the same effect. |
===Parameters=== | ===Parameters=== |
Revision as of 18:08, 20 July 2023
Defined in header <cstdio>
|
||
Writes a character ch
to the given output stream stream
.
Internally, the character is converted to unsigned char just before being written.
In C, putc() may be implemented as a macro, which is disallowed in C++. Therefore, calls to std::fputc() and std::putc() always have the same effect.
Contents |
Parameters
ch | - | character to be written |
stream | - | output stream |
Return value
On success, returns the written character.
On failure, returns EOF and sets the error indicator (see std::ferror()) on stream.
Example
Run this code
#include <cstdio> int main() { for (char c = 'a'; c != 'z'; c++) std::putc(c, stdout); // putchar's return value is not equal to the argument int r = 0x102A; std::printf("\nr = 0x%x\n", r); r = std::putchar(r); std::printf("\nr = 0x%x\n", r); }
Possible output:
abcdefghijklmnopqrstuvwxy r = 0x102A * r = 0x2A
See also
writes a character to stdout (function) | |
C documentation for fputc, putc
|