Difference between revisions of "cpp/io/c/fputc"
From cppreference.com
m (Shorten template names. Use {{lc}} where appropriate.) |
Andreas Krug (Talk | contribs) m ({{c}}) |
||
(9 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | {{cpp/title | fputc | putc}} | + | {{cpp/title|fputc|putc}} |
{{cpp/io/c/navbar}} | {{cpp/io/c/navbar}} | ||
− | {{ddcl | header=cstdio | | + | {{ddcl|header=cstdio| |
− | int fputc( int ch, FILE *stream ); | + | int fputc( int ch, std::FILE* stream ); |
− | int putc( int ch, FILE *stream ); | + | int putc( int ch, std::FILE* stream ); |
}} | }} | ||
− | Writes a character {{ | + | Writes a character {{c|ch}} to the given output stream {{c|stream}}. |
+ | |||
+ | Internally, the character is converted to {{c|unsigned char}} just before being written. | ||
+ | |||
+ | 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=== | ||
{{par begin}} | {{par begin}} | ||
− | {{par | ch | character to be written}} | + | {{par|ch|character to be written}} |
− | {{par | stream | | + | {{par|stream|output stream}} |
{{par end}} | {{par end}} | ||
===Return value=== | ===Return value=== | ||
− | {{ | + | On success, returns the written character. |
+ | |||
+ | On failure, returns {{lc|EOF}} and sets the ''error'' indicator (see {{lc|std::ferror()}}) on {{lc|stream}}. | ||
+ | |||
+ | ===Example=== | ||
+ | {{example | ||
+ | |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); | ||
+ | } | ||
+ | |p=true | ||
+ | |output= | ||
+ | abcdefghijklmnopqrstuvwxy | ||
+ | r = 0x102A | ||
+ | * | ||
+ | r = 0x2A | ||
+ | }} | ||
===See also=== | ===See also=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc inc | cpp/io/c/ | + | {{dsc inc|cpp/io/c/dsc putchar}} |
− | {{dsc see c | c/io/fputc | fputc | putc}} | + | {{dsc see c|c/io/fputc|fputc|putc}} |
{{dsc end}} | {{dsc end}} | ||
− | + | {{langlinks|de|es|fr|it|ja|pt|ru|zh}} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Latest revision as of 03:31, 29 September 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 |
[edit] Parameters
ch | - | character to be written |
stream | - | output stream |
[edit] Return value
On success, returns the written character.
On failure, returns EOF and sets the error indicator (see std::ferror()) on stream.
[edit] 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
[edit] See also
writes a character to stdout (function) | |
C documentation for fputc, putc
|