# fputws

< c‎ | io

定义于头文件 `<wchar.h>` |  |
int fputws( const wchar_t *str, FILE *stream ); |  | (C95 起) (C99 前)
int fputws( const wchar_t * restrict str, FILE * restrict stream ); |  | (C99 起)

写入来自空终止宽字符串 `str` 的每个宽字符到输出流 `stream` ，如同通过重复执行 fputwc 。

不写入来自 `str` 的终止宽字符。

### 参数

str | - | 要写入的空终止宽字符串
stream | - | 输出流

### 返回值

成功时返回非负值。

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

### 示例

    #include <locale.h>
    #include <stdio.h>
    #include <wchar.h>

    int main(void)
    {
        setlocale(LC_ALL, "en_US.utf8");
        int rc = fputws(L"洗洗睡吧", stdout);

        if (rc == EOF)
           perror("fputws()"); // POSIX 要求设置 errno
    }

输出：

    洗洗睡吧

### 引用

- C11 标准（ISO/IEC 9899:2011）：

  - 7.29.3.4 The fputws function (p: 423)

- C99 标准（ISO/IEC 9899:1999）：

  - 7.24.3.4 The fputws function (p: 368)

### 参阅

fputs | 将一个字符串写入文件流 (函数)
wprintf fwprintf swprintf wprintf_s fwprintf_s swprintf_s snwprintf_s (C95)(C95)(C95)(C11)(C11)(C11)(C11) | 打印格式化宽字符输出到 stdout 、文件流或缓冲区 (函数)
fputws (C95) | 将一个宽字符串写入文件流 (函数)
fgetws (C95) | 从文件流获取一个宽字符串 (函数)