.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 1990, 1991 The Regents of the University of California. .\" and Copyright (c) 2020 Arkadiusz Drabczyk .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Chris Torek and the American National Standards Committee X3, .\" on Information Processing Systems. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)fread.3 6.6 (Berkeley) 6/29/91 .\" .\" Converted for Linux, Mon Nov 29 15:37:33 1993, faith@cs.unc.edu .\" Sun Feb 19 21:26:54 1995 by faith, return values .\" Modified Thu Apr 20 20:43:53 1995 by Jim Van Zandt .\" Modified Fri May 17 10:21:51 1996 by Martin Schulze .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH fread 3 "2023년 7월 20일" "Linux man\-pages 6.05.01" .SH 이름 fread, fwrite \- 이진(바이너리) 스트림 입력/출력 .SH 라이브러리 표준 C 라이브러리 (\fIlibc\fP, \fI\-lc\fP) .SH 요약 .nf \fB#include \fP .PP \fBsize_t fread(void \fP\fIptr\fP\fB[restrict .\fP\fIsize\fP\fB * .\fP\fInmemb\fP\fB],\fP \fB size_t \fP\fIsize\fP\fB, size_t \fP\fInmemb\fP\fB,\fP \fB FILE *restrict \fP\fIstream\fP\fB);\fP \fBsize_t fwrite(const void \fP\fIptr\fP\fB[restrict .\fP\fIsize\fP\fB * .\fP\fInmemb\fP\fB],\fP \fB size_t \fP\fIsize\fP\fB, size_t \fP\fInmemb\fP\fB,\fP \fB FILE *restrict \fP\fIstream\fP\fB);\fP .fi .SH 설명 함수 \fBfread\fP() 는 \fIstream\fP이 가리키는 스트림에서 각 \fIsize\fP 바이트 만큼 긴 데이터의 \fInmemb\fP 요소를 읽어, \fIptr\fP이 가리키는 위치에 읽은 데이터들을 저장한다. .PP 함수 \fBfwrite\fP() 는 \fIptr\fP이 가리키는 위치에 있는 데이터들을 얻어서 각 \fIsize\fP 바이트 만큼 긴 데이터의 \fInmemb\fP 요소를 \fIstream\fP이 가리키는 위치의 스트림에 쓴다. .PP For nonlocking counterparts, see \fBunlocked_stdio\fP(3). .SH 반환값 On success, \fBfread\fP() and \fBfwrite\fP() return the number of items read or written. This number equals the number of bytes transferred only when \fIsize\fP is 1. If an error occurs, or the end of the file is reached, the return value is a short item count (or zero). .PP The file position indicator for the stream is advanced by the number of bytes successfully read or written. .PP \fBfread\fP() 는 EOF와 에러를 구분하지 않는다. 그리고 호출자는 무엇이 일어났는지를 결정 하기 위해 \fBfeof\fP(3) 와 \fBferror\fP(3) 를 사용해야 한다. .SH 속성 이 섹션에서 사용되는 용어에 대한 설명은 \fBattributes\fP(7)을 참조하십시오. .TS allbox; lbx lb lb l l l. 상호 작용 속성 번호 T{ .na .nh \fBfread\fP(), \fBfwrite\fP() T} Thread safety MT\-Safe .TE .sp 1 .SH 표준 C11, POSIX.1\-2008. .SH 이력 POSIX.1\-2001, C89. .SH 폐제 The program below demonstrates the use of \fBfread\fP() by parsing /bin/sh ELF executable in binary mode and printing its magic and class: .PP .in +4n .EX $ \fB./a.out\fP ELF magic: 0x7f454c46 Class: 0x02 .EE .in .SS "Program source" .\" SRC BEGIN (fread.c) \& .EX #include #include \& #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) \& int main(void) { FILE *fp; size_t ret; unsigned char buffer[4]; \& fp = fopen("/bin/sh", "rb"); if (!fp) { perror("fopen"); return EXIT_FAILURE; } \& ret = fread(buffer, sizeof(*buffer), ARRAY_SIZE(buffer), fp); if (ret != ARRAY_SIZE(buffer)) { fprintf(stderr, "fread() failed: %zu\en", ret); exit(EXIT_FAILURE); } \& printf("ELF magic: %#04x%02x%02x%02x\en", buffer[0], buffer[1], buffer[2], buffer[3]); \& ret = fread(buffer, 1, 1, fp); if (ret != 1) { fprintf(stderr, "fread() failed: %zu\en", ret); exit(EXIT_FAILURE); } \& printf("Class: %#04x\en", buffer[0]); \& fclose(fp); \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "추가 참조" \fBread\fP(2), \fBwrite\fP(2), \fBfeof\fP(3), \fBferror\fP(3), \fBunlocked_stdio\fP(3) .PP .SH 번역 이 매뉴얼 페이지의 한국어 번역은 다음에 의해 편집되었습니다: 정강훈 . .PP 이 번역은 무료 문서입니다. 저작권 조건에 대해서는 .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License 버전 3 .UE 이상을 읽으십시오. 책임이 없습니다. .PP 이 매뉴얼 페이지의 번역에서 오류를 발견하면 .MT translation-team-ko@googlegroups.com .ME 로 이메일을 보내주십시오.