fgetwc, getwc
cppreference.net에서
| (C95) <wchar.h>
|
||
wint_t fgetwc( FILE* stream );
|
정의된 헤더: | |
wint_t getwc( FILE* stream );
|
(C95부터) | |
주어진 입력 스트림에서 다음 와이드 문자를 읽습니다. getwc()는 매크로로 구현될 수 있으며, stream를 여러 번 평가할 수 있습니다.
매개변수
| stream | - | 와이드 문자를 읽을 입력 스트림 |
반환값
스트림에서 읽은 다음 와이드 문자 또는 실패 시 WEOF.
실패가 파일 끝 조건으로 인한 경우, 추가로 eof 표시자를 설정합니다 (feof() 참조) stream에. 실패가 다른 오류로 인한 경우, error 표시자를 설정합니다 (ferror() 참조) stream에.
인코딩 오류가 발생한 경우, 추가로 errno를 EILSEQ로 설정합니다.
예제
이 코드 실행하기
#include <errno.h>
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
int main(void)
{
setlocale(LC_ALL, "en_US.utf8");
FILE* fp = fopen("fgetwc.dat", "w");
if(!fp)
{
perror("Can't open file for writing");
return EXIT_FAILURE;
}
fputs("кот\n", fp);
fclose(fp);
fp = fopen("fgetwc.dat", "r");
if (!fp)
{
perror("Can't open file for reading");
return EXIT_FAILURE;
}
wint_t wc;
errno = 0;
while ((wc = fgetwc(fp)) != WEOF)
putwchar(wc);
if (ferror(fp))
{
if (errno == EILSEQ)
puts("Character encoding error while reading.");
else
puts("I/O error when reading");
}
else if (feof(fp))
puts("End of file reached successfully");
fclose(fp);
}
가능한 출력:
кот
참조
- C23 표준 (ISO/IEC 9899:2024):
- 7.29.3.1 fgetwc 함수 (p: TBD)
- 7.29.3.6 getwc 함수 (p: TBD)
- C17 표준 (ISO/IEC 9899:2018):
- 7.29.3.1 fgetwc 함수 (p: 307-308)
- 7.29.3.6 getwc 함수 (p: 309)
- C11 표준 (ISO/IEC 9899:2011):
- 7.29.3.1 fgetwc 함수 (p: 421-422)
- 7.29.3.6 getwc 함수 (p: 424)
- C99 표준 (ISO/IEC 9899:1999):
- 7.24.3.1 fgetwc 함수 (p: 367)
- 7.24.3.6 getwc 함수 (p: 369)
같이 보기
| 파일 스트림에서 문자를 얻습니다 (함수) | |
(C95) |
파일 스트림에서 와이드 문자열을 얻습니다 (함수) |
(C95) |
파일 스트림에 와이드 문자를 씁니다 (함수) |
(C95) |
와이드 문자를 파일 스트림에 다시 넣습니다 (함수) |
C++ 문서에 대한fgetwc
| |