다음을 통해 공유


fwrite

스트림에 데이터를 씁니다.

구문

size_t fwrite(
   const void *buffer,
   size_t size,
   size_t count,
   FILE *stream
);

매개 변수

buffer
쓸 데이터에 대한 포인터입니다.

size
항목 크기입니다(바이트).

count
쓸 항목의 최대 수입니다.

stream
FILE 구조체에 대한 포인터입니다.

반환 값

fwrite 는 함수가 기록하는 전체 항목 수를 반환하며 오류가 발생하는 경우보다 count 작을 수 있습니다. 또한 오류가 발생하면 파일 위치 표시기를 확인할 수 없습니다. stream null 포인터이거나buffer, 쓸 바이트 수가 유니코드 모드로 지정된 경우 함수는 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다. 계속해서 실행하도록 허용한 경우 이 함수는 errnoEINVAL 로 설정하고 0을 반환합니다.

설명

fwrite 함수는 count에서 출력 size으로 최대 buffer개 항목(각 길이: stream)을 씁니다. 연결된 stream 파일 포인터(있는 경우)는 쓰기 바이트 fwrite 수만큼 증가합니다. 텍스트 모드에서 열리는 경우 stream 각 줄 바꿈은 캐리지 리턴 라인 피드 쌍으로 바뀝 있습니다. 이렇게 바뀌더라도 반환 값에는 영향을 미치지 않습니다.

stream이 유니코드 변환 모드에서 열리는 경우(예: stream을 호출하고 fopen, ccs=UNICODE 또는 ccs=UTF-16LE이 포함된 모드 매개 변수를 사용하여 ccs=UTF-8을 여는 경우나 _setmode_O_WTEXT, _O_U16TEXT 또는 _O_U8TEXT가 포함된 모드 매개 변수를 사용하여 모드를 유니코드 변환 모드로 변경한 경우) buffer는 UTF-16 데이터가 포함된 wchar_t의 배열에 대한 포인터로 해석됩니다. 이 모드에서 홀수 바이트를 쓰려고 하면 매개 변수 유효성 검사 오류가 발생합니다.

이 함수는 호출 스레드를 잠그므로 스레드로부터 안전합니다. 잠기지 않는 버전의 경우 _fwrite_nolock을 참조하세요.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

요구 사항

함수 필수 헤더
fwrite <stdio.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

fread에 대한 예를 참조하세요.

참고 항목

스트림 I/O
_setmode
fread
_fwrite_nolock
_write