이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

fwrite

이진 파일(Binary File)에 데이터 쓰기

설명

예제

fwrite(fileID,A)는 배열 A의 요소를 이진 파일에 열 순서대로 8비트의 부호 없는 정수로 씁니다. 파일 ID fileID로 이진 파일을 지정합니다. fileID 값은 fopen으로 파일을 열어 구할 수 있습니다. 읽기가 끝나면 fclose(fileID)를 호출하여 파일을 닫습니다.

예제

fwrite(fileID,A,precision)A의 값을 precision으로 설명되는 형식과 크기로 씁니다.

fwrite(fileID,A,precision,skip)은 각 값을 쓰기 전에 skip으로 지정된 바이트 수 또는 비트 수를 건너뜁니다.

예제

fwrite(fileID,A,precision,skip,machinefmt)은 파일에 바이트 또는 비트를 쓰는 순서를 지정합니다. skip 인수는 선택 사항입니다.

count = fwrite(___)fwrite가 파일에 성공적으로 쓴 A 요소의 개수를 반환합니다. 이 구문은 위에 열거된 구문 중 하나의 입력 인수에 사용할 수 있습니다.

예제

모두 축소

쓰려는 파일 nine.bin을 엽니다. fopen 호출 시 'w'를 사용하여 쓰기 권한을 지정합니다.

fileID = fopen('nine.bin','w');

fopen은 파일 ID fileID를 반환합니다.

1에서 9까지의 정수를 8비트의 부호 없는 정수로 씁니다.

fwrite(fileID,[1:9]);

파일을 닫습니다.

fclose(fileID);

쓰려는 파일 magic5.bin을 엽니다.

fileID = fopen('magic5.bin','w');

5x5 마방진의 25개 요소를 씁니다. precision 인수 'integer*4'를 사용하여 4바이트 정수를 씁니다.

fwrite(fileID,magic(5),'integer*4');

파일을 닫습니다.

fclose(fileID);

배정밀도 부동소수점 숫자로 저장된, 4x4 마방진의 요소를 포함하는 이진 파일을 씁니다.

fileID = fopen('magic4.bin','w');
fwrite(fileID,magic(4),'double');
fclose(fileID);

파일에 데이터 추가를 가능하게 하는 쓰기 권한을 사용하여 파일 magic4.bin을 엽니다. fopen 호출 시 파일 액세스 유형 'a'를 지정합니다.

fileID = fopen('magic4.bin','a');

파일에 0으로 이루어진 4x4 행렬을 추가합니다. 그런 다음 파일을 닫습니다.

fwrite(fileID,zeros(4),'double');
fclose(fileID);

빅 엔디안 시스템에서 사용할 수 있도록 파일 myfile.bin에 배정밀도 난수를 씁니다. fwrite 호출 시 'ieee-be'machinefmt 값을 지정하여 빅 엔디안 바이트 순서를 나타냅니다.

fileID = fopen('myfile.bin','w');
fwrite(fileID,rand(4),'double','ieee-be');
fclose(fileID);

입력 인수

모두 축소

파일 ID로, fopen에서 가져온 정수로 지정됩니다. 표준 출력(화면)의 경우에는 1, 표준 오류의 경우에는 2로 지정됩니다.

쓰려는 데이터로, 숫자형 배열, 문자형 배열 또는 string형 배열로 지정됩니다.

예: [1,2,3;4,5,6]

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string
복소수 지원 여부:

쓰려는 값의 클래스 및 크기(비트 수)로, 다음 정밀도 열에 나열된 문자형 벡터 또는 string형 스칼라 중 하나로 지정됩니다.

값 유형정밀도비트(바이트)

정수, 부호 없음

'uint'

32 (4)

'uint8'

8 (1)

'uint16'

16 (2)

'uint32'

32 (4)

'uint64'

64 (8)

'uchar'

8 (1)

'unsigned char'

8 (1)

'ushort'

16 (2)

'ulong'

32 (4)

'ubitn'

1n64

정수, 부호 있음

'int'

32 (4)

'int8'

8 (1)

'int16'

16 (2)

'int32'

32 (4)

'int64'

64 (8)

'integer*1'

8 (1)

'integer*2'

16 (2)

'integer*4'

32 (4)

'integer*8'

64 (8)

'schar'

8 (1)

'signed char'

8 (1)

'short'

16 (2)

'long'

32 (4)

'bitn'

1n64

부동소수점 숫자

'single'

32 (4)

'double'

64 (8)

'float'

32 (4)

'float32'

32 (4)

'float64'

64 (8)

'real*4'

32 (4)

'real*8'

64 (8)

문자

'char*1'

8 (1)

'char'

파일과 연결된 인코딩 체계에 따라 지정됩니다. fopen을 사용하여 인코딩을 설정합니다.

bitn 또는 ubitn으로 정밀도가 지정된 경우 fwrite는 범위 밖에 있는 모든 값에 대해 포화(Saturate)됩니다.

참고

MATLAB®NaNInf 값을 유지하려면 double형 또는 single형 클래스의 데이터를 읽고 쓰십시오.

각 값을 쓰기 전에 건너뛸 바이트 수로, 스칼라로 지정됩니다. bitn 또는 ubitn으로 precision을 지정하는 경우 skip을 비트 단위로 지정해야 합니다.

skip 인수를 사용하여 고정 길이 레코드의 비연속 필드에 데이터를 삽입할 수 있습니다.

파일 내에 바이트를 쓰는 순서로, 다음 표의 문자형 벡터 또는 string형 스칼라 중 하나로 지정됩니다. bitnubitn 정밀도의 경우, machinefmt는 바이트 내 비트를 쓰는 순서를 지정하지만 바이트를 쓰는 순서는 시스템 바이트 순서에 따릅니다.

'n' 또는 'native'

시스템 바이트 순서(디폴트 값)

'b' 또는 'ieee-be'

빅 엔디안 순서

'l' 또는 'ieee-le'

리틀 엔디안 순서

's' 또는 'ieee-be.l64'

빅 엔디안 순서, 64비트 long 데이터형

'a' 또는 'ieee-le.l64'

리틀 엔디안 순서, 64비트 long 데이터형

기본적으로, 현재 지원되는 플랫폼은 모두 새 파일에 리틀 엔디안 순서를 사용합니다. 기존의 이진 파일은 빅 엔디안 또는 리틀 엔디안 순서를 사용할 수 있습니다.

확장 기능

R2006a 이전에 개발됨