`fputws` 함수

fputws 함수 (fputws)

널 종료 넓은 문자열을 통째로 파일에 써야 할 때 쓰는 함수가 fputws예요. fputs의 넓은 문자 버전이고, 다국어 문자열을 한 번에 출력할 수 있어요.

출처: cppreference

본문

함수 원형

<wchar.h>에 정의돼 있어요. (C95부터)

int fputws( const wchar_t* str, FILE* stream );                   // (since C95) (until C99)
int fputws( const wchar_t* restrict str, FILE* restrict stream ); // (since C99)

설명 (Explanation)

널 종료 넓은 문자열 str의 모든 문자를 fputwc를 반복해서 호출하는 것처럼 출력 스트림 stream에 써요.

str의 끝에 있는 종료 널 문자는 쓰지 않아요.

매개변수 (Parameters)

  • str — 쓸 널 종료 넓은 문자열
  • stream — 출력 스트림

반환값 (Return value)

성공하면 0 이상의 값을 돌려줘요.

실패하면 EOF를 돌려주고 stream에 오류 표시를 설정해요(ferror 참고).

예제 (Example)

UTF-8 로케일을 설정하고 일본어 넓은 문자열을 stdout에 쓰는 예시예요.

#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 requires that errno is set
}

가능한 출력:

御休みなさい

같이 보기 (See also)

  • fputs — 파일 스트림에 문자 문자열 쓰기
  • wprintf/fwprintf/swprintf — 서식이 있는 넓은 문자 출력
  • fgetws — 파일 스트림에서 넓은 문자열 가져오기