# std::fputc, std::putc

< cpp‎ | io‎ | c

定义于头文件 `<cstdio>` |  |
int fputc( int ch, std::FILE* stream ); int putc( int ch, std::FILE* stream ); |  |

写入字符 `ch` 到给定输出流 `stream` 。

在内部，在写入前将字符转换为 unsigned char 。

C 中， putc() 可以实现为宏，而这在 C++ 中被禁止。从而调用 std::fputc() 和 std::putc() 始终拥有相同效果。

### 参数

ch | - | 要写入的字符
stream | - | 输出流

### 返回值

成功时，返回被写入字符。

失败时，返回 EOF 并设置 stream 上的错误指示器（见 std::ferror() ）。

### 示例

    #include <cstdio>

    int main()
    {
        for (char c = 'a'; c != 'z'; c++)
            std::putc(c, stdout);
        std::putc('\n', stdout);

        // putchar 的返回值不等于参数
        int r = 0x1070;
        std::printf("\n0x%x\n", r);
        r = std::putchar(r);
        std::printf("\n0x%x\n", r);
    }

输出：

    abcdefghijklmnopqrstuvwxy
    0x1070
    p
    0x70

### 参阅

putchar | 写字符到 stdout (函数)