##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::fputc, std::putc

From cppreference.com
< cpp‎ | io‎ | c

Defined in header `<cstdio>` |  |
int fputc( int ch, std::FILE* stream ); int putc( int ch, std::FILE* stream ); |  |

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.

### [edit] Parameters

ch | - | character to be written

### [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);
        std::putc('\n', stdout);

        // putchar return value is not equal to the argument
        int r = 0x1070;
        std::printf("\n0x%x\n", r);
        r = std::putchar(r);
        std::printf("\n0x%x\n", r);
    }

Output:

    abcdefghijklmnopqrstuvwxy
    0x1070
    p
    0x70

### [edit] See also

putchar | writes a character to stdout (function) [edit]
C documentation for fputc, putc

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/io/c/fputc&oldid=69825"