이전: 명령 처리기 입력, 상위 문서: 기본 입출력   [차례][찾아보기]


14.1.3 단순 기록철 입출력

saveload 명령을 사용하여 저장소에 자료를 여러 형식으로 쓰고 읽습니다. save 명령이 기본으로 사용하는 쓰기 형식은 함수 save_default_optionssave_precision으로 제어합니다.

아래 예시 부호는 3×3짜리 행렬을 기록철 ‘myfile.mat’에 저장합니다.

A = [ 1:3; 4:6; 7:9 ];
save myfile.mat A

변수 한 개 이상을 기록철에 저장하고 나면, 저장 기록철을 load 명령으로 막기억장치에 읽어 들입니다.

load myfile.mat
A
     -| A =
     -|
     -|    1   2   3
     -|    4   5   6
     -|    7   8   9
save 기록철
save 설정 기록철
save 설정 기록철 변수1 변수2
save 설정 기록철 -struct 구조체
save 설정 기록철 -struct 구조체기록란1 기록란2
save - 변수1 변수2
문자열 = save ("-", "v1", "v2", …)

이름 부른 변수 변수1 변수2, …,를 기록철 기록철에 저장합니다.

특별한 기록철 이름인 ‘-’은 변숫값을 문자열로 바꾸어 내놓습니다. 열거한 변수 이름이 없으면, 현재 유효 범위 안에 있는 모든 변수를 저장합니다. 아니면 전체 변수 이름이나 경향 구문을 저장할 변수를 특정하는데 씁니다. -struct 변경자를 쓰면, 스칼라 구조체의 변수 중 짝이 되는 기록란 이름을 갖는 기록란을 저장합니다. -struct 추가 매개변수에 특정 기록란 이름인 기록란1 기록란2를 써서 특정 기록란만 기록철에 저장할 수도 있습니다.

save 명령에 올바른 선택지는 아래 표와 같습니다. 선택지는 save_default_options로 정한 형식에 우선하여 출력 형식을 정합니다.

아래 함수 꼴로 save를 부르면,

save ("-option1", …, "file", "v1", …)

선택지, 기록철, 변수 이름 매개변수(변수1, …)는 무조건 문자 문자열로 지정됩니다.

기록철 이름 "-"와 함께 부를 때, 출력 매개변수가 없으면 표준 출력 흐름에 출력을 쓰고, 출력 매개변수가 있으면 해당 문자 문자열에 출력을 내놓습니다.

-append

덮어쓰지 않고 덧붙여 씁니다.

-ascii

머리말과 기타 정보를 빼고 행렬을 글월 기록철에 저장합니다. 행렬은 반드시 2차원이어야 하며, 모든 복소수 값은 실수부만 저장합니다. 수치는 단정도 형식으로 저장하며, 띄어쓰기로 구분합니다. -ascii 형식용 추가 선택지는 아래와 같습니다.

-double

수치를 배정도 형식으로 저장합니다.

-tabs

수치를 긴 띄어쓰기로 구분합니다.

-binary

자료를 옥타브식 이진 자료 형식으로 저장합니다.

-float-binary

자료를 단정도만 사용하는 옥타브식 이진 자료 형식으로 저장합니다. 저장할 모든 값을 단정도로 표현할 수 있을 때 이 형식을 사용하십시오.

-hdf5

자료를 계층 자료 형식 5판 형식으로 저장합니다.(계층 자료 형식 5판은 일리노이 대학교에 있는 미국 국립 초고속 전산기 응용 연구소에서 개발한 휴대용 이진 형식으로 공짜입니다.) 이 형식은 옥타브를 계층 자료 형식 5판과 연결하여 마감하였을 때만 사용 가능합니다.

-float-hdf5

자료를 단정도만 사용하는 계층 자료 형식 5판 형식으로 저장합니다. 저장할 모든 값을 단정도로 표현할 수 있을 때 이 형식을 사용하십시오.

-V7
-v7
-7
-mat7-binary

자료를 매트랩 이진 자료 형식 7판으로 저장합니다.

-V6
-v6
-6
-mat
-mat-binary

자료를 매트랩 이진 자료 형식 6판으로 저장합니다.

-V4
-v4
-4
-mat4-binary

자료를 매트랩 4판에서 쓰인 이진 자료 형식으로 저장합니다.

-text

자료를 옥타브식 글월 자료 형식으로 저장합니다.(기본)

-zip
-z

그누 집 셈법을 사용하여 기록철을 압축합니다. 옥타브 바깥에 있는 그누 집으로 기록철을 압축하며, 하위 호환성 때문에 기록철을 변환하는데에도 그누 집을 사용할 수 있습니다. 이 형식은 옥타브를 zlib과 연결하여 마감하였을 때만 사용 가능합니다.

저장할 변수 목록에 아래 특별 문자를 사용하여 만능 경향을 사용할 수 있습니다.

?

모든 문자 한 개와 일치합니다.

*

0 개 이상 문자와 일치합니다.

[ 목록 ]

목록에 나열한 문자와 일치합니다. 목록에 첫 번째로 나열한 문자가 ! 또는 ^이면, 나열한 문자 제외한 모든 문자와 일치합니다. 예를 들어, 유형 [a-zA-Z]은 모든 영대소문자와 일치합니다.

-struct 변경자를 사용했을 때는 만능 문자를 기록란 이름을 특정하는데에 쓸 수 있습니다.(구조체 이름 자체에는 못 씀)

매트랩 이진 자료 기록철 형식 또는 ‘-ascii’ 형식을 사용할 때 빼고는, 전역 변수를 저장할 때 변수의 전역 상태도 저장합니다. 변수를 나중에 ‘load’로 복원하면, 전역 변수로 복원됩니다.

아래 명령은

save -binary data a b*

변수 ‘a’와 ‘b’로 시작하는 모든 변수를 옥타브식 이진 형식으로 기록철 data에 저장합니다.

같이 보기: load, save_default_options, save_header_format_string, save_precision, dlmread, csvread, fread.

save의 작동 방식을 바꾸는 세 가지 함수가 있습니다.

= save_default_options ()
옛_값 = save_default_options (새_값)
save_default_options (새_값, "local")

save 명령의 기본 선택지와 기본 형식을 정하는 내부 변수를 조회 또는 설정합니다.

기본값은 "-text"입니다.(옥타브식 글월 기반 기록철 형식) 다른 선택지는 save 명령 문서를 참고하십시오.

함수 안에서 "local" 선택지를 넣어 부르면, 함수와 함수가 부른 종속 절차의 변수가 지역적으로 바뀝니다. 함수가 종료되면 원래 변숫값이 되돌아옵니다.

같이 보기: save, save_header_format_string, save_precision.

= save_precision ()
옛_값 = save_precision (새_값)
save_precision (새_값, "local")

자료를 글월 형식으로 저장할 때 유지할 숫자 자리수를 정하는 내부 변수를 조회 또는 설정합니다.

기본값은 17로써, 전기·전자 기술자 협회-754 규격 배정도 값을 손실 없이 저장하고 불러오는 최소한도입니다. 전기·전자 기술자 협회-754 규격 단정도 값은 9를 사용합니다. 기록철 크기가 걱정이라면, 저장할 값의 정밀도를 줄이기 보다는 자료를 이진 형식으로 저장하는 편이 낫습니다.

함수 안에서 "local" 선택지를 넣어 부르면, 함수와 함수가 부른 종속 절차의 변수가 지역적으로 바뀝니다. 함수가 종료되면 원래 변숫값이 되돌아옵니다.

같이 보기: save_default_options.

= save_header_format_string ()
옛_값 = save_header_format_string (새_값)
save_header_format_string (새_값, "local")

글월 형식으로 자료를 저장한 기록철의 앞머리에 적는 주석 줄의 형식 문자열을 정하는 내부 변수를 조회 또는 설정합니다.

형식 문자열은 strftime에 전달되며, 반드시 문자 ‘#’으로 시작하고 새 줄 문자를 포함하지 않아야 합니다. save_header_format_string 값이 빈 문자열이면 글월 형식으로 자료를 저장한 기록철의 앞머리에 주석을 넣지 않습니다. 기본값은 아래와 같습니다.

"# Created by Octave VERSION, %a %b %d %H:%M:%S %Y %Z <USER@HOST>"

함수 안에서 "local" 선택지를 넣어 부르면, 함수와 함수가 부른 종속 절차의 변수가 지역적으로 바뀝니다. 함수가 종료되면 원래 변숫값이 되돌아옵니다.

같이 보기: strftime, save_default_options.

load 기록철
load 선택지 기록철
load 선택지 기록철 v1 v2 …
S = load ("선택지", "기록철", "v1", "v2", …)
load 기록철 선택지
load 기록철 선택지 v1 v2 …
S = load ("기록철", "선택지", "v1", "v2", …)

기록철 기록철에서 이름이 v1, v2, …,인 변수를 적재합니다.

변수 이름을 주지 않으면 기록철에 있는 모든 변수를 불러옵니다. save와 마찬가지로 적재할 변수 이름을 완전하게 적어도 되고, 유형 구문을 적어도 됩니다. 기록철 형식을 자동으로 감지하나 적절한 선택지를 주어 대신 써도 됩니다.

load를 함수꼴로 간접 호출하면,

load ("-option1", …, "file", "v1", …)

선택지 기록철과 변수 이름 매개변수(v1, …) 는 반드시 문자 문자열이어야 합니다.

이름이 같은 전역 상징이 이미 있는대도 전역 변수가 아닌 변수를 기록철에서 적재하면, 전역 상징 일람에 변수를 적재합니다. 또한, 이름이 같은 울안 상징이 있는대도 전역 변수인 변수를 기록철에서 적재하면, 기존의 울안 상징을 전역 상징으로 옮기고 기록철에 있는 전역 변수의 값을 가져옵니다.

출력인수 한 개로 간접 호출하면, 상징 일람에 변수를 끼워넣는 대신 자료를 내놓습니다. 자료 기록철에 숫자만 들어 있으면(띄어쓰기 또는 긴 띄어쓰기로 열 구분), 값 행렬을 내놓습니다. 자료 기록철에 숫자가 아닌 내용도 있으면, load는 기록철에 있는 변수 가운데 이름이 일치하는 것을 원소로 삼은 구조체를 내놓습니다.

load 명령은 옥타브식 글월 형식, 옥타브식 이진 형식, 매트랩식 이진 형식을 받아들입니다. zlib 지원이 가능하면, 그누 집으로 압축한 기록철도 받아들입니다. 자동으로 기록철 형식을 감지하며, 떠돌이 소수점 형식을 같게 맞춥니다.(현재는 전기·전자 기술자 협회의 상위 바이트 우선 및 하위 바이트 우선 형식만 지원합니다. 이외의 형식은 언젠가 추가됩니다.)

load의 가능한 선택지는 아래 표와 같습니다.

-force

이 선택지는 하위 호환용으로 제공되기는 하나 무시됩니다. 현재는 막기억장치에 기록철의 변수와 이름이 같은 변수가 있으면 덮어씁니다.

-ascii

기록철의 머리와 기타 정보를 무시하고 기록철에 숫자 열이 글월 형식으로 저장되었다고 강제로 예단합니다. 기록철에 있는 자료는 변수 이름에 기록철 이름을 사용한 단일 수치 행렬로써 적재됩니다.

-binary

기록철이 옥타브식 이진 형식을 따른다고 강제로 예단합니다.

-hdf5

기록철이 계층 자료 형식 5판을 따른다고 예단합니다.(계층 자료 형식 5판은 일리노이 대학교에 있는 미국 국립 초고속 전산기 응용 연구소에서 개발한 휴대용 이진 형식으로 공짜입니다.) 옥타브의 save 명령으로 만든 계층 자료 형식 5판 기록철만 읽을 수 있습니다. 이 형식은 옥타브를 계층 자료 형식 5판과 연결하여 마감하였을 때만 사용 가능합니다.

-import

이 선택지는 하위 호환용으로 제공되기는 하나 무시됩니다. 지금은 다차원 계층 자료 형식 자료를 지원하며, 변수 이름이 옥타브 식별자로써 부적당하면 자동으로 고칩니다.

-mat
-mat-binary
-6
-v6
-7
-v7

기록철이 매트랩 이진 자료 형식 6판 또는 7판을 따른다고 예단합니다.

-mat4-binary
-4
-v4
-V4

기록철이 매트랩 4판에서 쓰인 이진 자료 형식을 따른다고 예단합니다.

-text

기록철이 옥타브식 글월 형식을 따른다고 예단합니다.

같이 보기: save, dlmwrite, csvwrite, fwrite.

문자열 = fileread (기록철_이름)

기록철_이름의 내용을 읽고, 그 내용을 문자열로써 내놓습니다.

같이 보기: fread, fscanf, importdata, textscan, type.

native_float_format ()

기본 떠돌이 소수점의 형식을 문자열로써 내놓습니다.

disp 함수로 화면에 자료를 보여줄 때와 비슷한 방법으로 자료를 기록철에 쓸 수 있습니다. 첫 번째 인수로 fopen가 만드는 기록철 가리키개를 쓴다는 점만 제외하면 fdispdisp와 비슷하게 작동합니다. 예를 들어, 아래 부호는 ‘myfile.txt’에 자료를 씁니다.

fid = fopen ("myfile.txt", "w");
fdisp (fid, "3/8 is ");
fdisp (fid, 3/8);
fclose (fid);

자세한 fopenfclose 사용법은 기록철 열고 닫기를 참고하십시오.

fdisp (기록철_식별자, 가로)

흐름 기록철_식별자에 있는 가로 값을 표시합니다.

예시:

fdisp (stdout, "The value of pi is:"), fdisp (stdout, pi)

     -| the value of pi is:
     -| 3.1416

fdisp의 출력은 언제나 새 줄로 끝남에 유의하십시오.

같이 보기: disp.

반점 구분 목록과 같은 행렬 글월 기록철도 읽고 쓸 수 있습니다.

dlmwrite (기록철, M)
dlmwrite (기록철, M, 구분자, r, c)
dlmwrite (기록철, M, key, …)
dlmwrite (기록철, M, "-append", …)
dlmwrite (기록철_식별자, …)

수치 행렬 M을 글월 기록철 기록철에 구분자를 사용하여 씁니다.

기록철은 기록철 이름 또는 fopen가 주는 쓰기 가능한 기록철 식별자이어야 합니다.

매개변수 구분자는 행에서 값을 구분하는 구분자를 지정합니다. 구분자를 지정하지 않으면, 반점 문자 ‘,’를 씁니다.

r 값은 기록철 시작 부분에 추가할 구분자만 있는 줄 개수를 지정합니다.

c 값은 자료의 각 줄 앞에 붙일 구분자 개수를 지정합니다.

인수 "-append"를 주면, 기록철 뒤에 이어 씁니다.

추가로 아래 예약어 값 쌍을 인수 목록 끝에 더할 수 있습니다.

"append"

값은 "on" 또는 "off"입니다. 위 "-append"를 찹고하십시오.

"delimiter"

구분자를 참고하십시오.

"newline"

행끼리 나누는 문자입니다. 세 가지 특별한 선택지가 가능합니다. "unix""\n"을, "pc""\r\n"을, "mac""\r"을 새 줄 문자로 씁니다. 직접 새 줄 문자를 입력해도 됩니다.

"roffset"

r을 참고하십시오.

"coffset"

c를 참고하십시오.

"precision"

기록철을 쓸 때 사용하는 정밀도입니다. fprintf가 사용하는 것과 같은 형식 문자열 또는 유효 숫자 개수를 사용합니다.

dlmwrite ("file.csv", reshape (1:16, 4, 4));
dlmwrite ("file.tex", a, "delimiter", "&", "newline", "\n")

같이 보기: dlmread, csvread, csvwrite.

자료 = dlmread (기록철)
자료 = dlmread (기록철, 분리자)
자료 = dlmread (기록철, 분리자, 0행, 0열)
자료 = dlmread (기록철, 분리자, 범위)
자료 = dlmread (…, "빈_값", EMPTYVAL)

구분자 분리자로 자룟값을 구분한 글월 기록철 기록철에서 수치 자료를 읽습니다.

분리자를 지정하지 않으면, 기록철 안에서 기록란을 분리한 구분자를 분리자로 씁니다.

선택 스칼라 인수 0행과 0열은 읽을 자료의 행과 열의 시작 부분을 정의합니다. 이 값은 0부터 색인을 매기므로 자료의 첫 번째 줄은 색인 0과 짝입니다.

범위 매개변수는 어떤 자료 요소를 읽을지 지정합니다. 이 매개변수의 첫 번째 꼴은 원소가 4개인 벡터로써, 0부터 세어 왼쪽 위 꼭짓점과 오른쪽 아래 꼭짓점를 지정하는 [R0,C0,R1,C1] 꼴입니다. 두 번째 꼴은 셈틀 방식으로써 "A2..Q15" 또는 "T1:AA5" 꼴입니다. 내림차순 가나다 색인으로써 'A'는 첫 번째 열을 색인합니다. 첫 번째 행은 1로 색인합니다.

기록철은 기록철 이름 또는 fopen이 제공한 기록철 식별자이어야 합니다. 기록철 식별자를 쓰면, 기록철을 끝까지 읽습니다.

"빈_값" 선택지는 빈 기록란을 채울 값입니다. 기본값은 0입니다. 기록란 값 가운데 글월같이 숫자가 아닌 값도 "빈_값"으로 바뀜에 유의하십시오.

같이 보기: csvread, textscan, dlmwrite.

csvwrite (기록철_이름, 가로)
csvwrite (기록철_이름, 가로, dlm_선택지1, …)

기록철 기록철_이름에 반점 구분 값(CSV) 형식으로 수치 행렬 가로를 씁니다.

이 함수는 아래 표현식과 같은 기능을 합니다.

dlmwrite (기록철_이름, 가로, ",", dlm_opt1, …)

모든 선택 인수는 dlmwrite에 바로 전달됩니다.(dlmwrite을 참고하십시오.)

같이 보기: csvread, dlmwrite, dlmread.

가로 = csvread (기록철_이름)
가로 = csvread (기록철_이름, dlm_선택지1, …)

반점 구분 값(CSV) 형식인 기록철 기록철_이름에서 행렬 가로를 읽습니다.

안내: 수치 자료를 포함한 반점 구분 값 기록철만 읽습니다.

이 함수는 아래 표현식과 같은 기능을 합니다.

가로 = dlmread (기록철_이름, "," , dlm_opt1, …)

모든 선택 인수는 dlmwrite에 바로 전달됩니다.(dlmread을 참고하십시오.)

같이 보기: dlmread, textscan, csvwrite, dlmwrite.

형식 있는 자료는 글월 기록철에서도 읽고 쓸 수 있습니다.

[a, …] = textread (기록철_이름)
[a, …] = textread (기록철_이름, 형식)
[a, …] = textread (기록철_이름, 형식, n)
[a, …] = textread (기록철_이름, 형식, prop1, 값1, …)
[a, …] = textread (기록철_이름, 형식, n, prop1, 값1, …)

이 함수는 구식입니다. textscan를 대신 사용하십시오.

글월 기록철에서 자료를 읽습니다.

기록철 기록철_이름을 읽어 형식에 따라 구문 분석합니다. 문자열 대신 기록철을 구문 분석한다는 점만 빼면 strread와 비슷합니다. 자세한 내용은 strread 문서를 참고하십시오.

strread가 지원하는 선택지 외에도 두 가지 선택지를 더 지원합니다.

선택 입력 n(형식 반복 횟수)은 형식 문자열의 사용 횟수 또는 읽을 줄 개수를 지정하며, 두 가지 방법 모두 읽기 시작할 때 횟수를 셉니다. 형식 문자열의 사용 횟수를 지정하는 방식은 자료 출력 벡터의 길이를 N으로 주는 것과 같습니다. 형식 문자열이 여러 줄을 포괄하는 기록철을 읽을때는 n을 형식 문자열 사용 횟수가 아닌 읽을 줄 개수로 지정하여야 합니다.

형식 문자열이 빈 문자열(누락이 아님)이고 기록철에 수치 자료만 있으면(앞머리에 있는 주석 제외), textread이 열 갯수가 기록철의 첫 번째 자료 줄의 수치 기록란 개수와 똑같은 직사각형꼴의 행렬을 내놓습니다. 빈 기록란은 값이 0이 되어 내놓아집니다.

예시:

  자료 기록철이 아래와 같다고 가정합시다.
  1 a 2 b
  3 c 4 d
  5 e
  [a, b] = textread (f, "%f %s")
  열이 두 개인 자료로 내놓습니다. 하나는 배정도이고
  다른 하나는 낱칸 배열인 문자열의 배열입니다.
  a = [1; 2; 3; 4; 5]
  b = {"a"; "b"; "c"; "d"; "e"}
  [a, b] = textread (f, "%f %s", 3)
  (자료를 열 두 개에 넣되, 형식 문자열을 세 번만 씁니다.)
  returns
  a = [1; 2; 3]
  b = {"a"; "b"; "c"}

  자료 기록철이 아래와 같다고 가정합시다.
  1
  a
  2
  b

  [a, b] = textread (f, "%f %s", 2)
  returns a = 1와 b = {"a"}; 즉, 자료 기록철에서 줄 두 개만 읽었기 때문에
  형식 문자열이 한 번만 사용되었습니다. 자료 출력 열로 2x1을 쓰려면
  N을 2 대신 4로 지정하여야 합니다.(자료 줄 개수가 필요한 모든 자료를 포괄하여야 함)

같이 보기: textscan, load, dlmread, fscanf, strread.

C = textscan (기록철_식별자, 형식)
C = textscan (기록철_식별자, 형식, 반복)
C = textscan (기록철_식별자, 형식, param, , …)
C = textscan (기록철_식별자, 형식, 반복, param, , …)
C = textscan (문자열, …)
[C, 자리, 오류_문구] = textscan (…)

글월 기록철 또는 문자열에서 자료를 읽습니다.

문자열 문자열 또는 기록철과 연결된 기록철_식별자를 읽어 형식에 따라 구문 분석합니다. 이 함수는 strreadtextread의 확장입니다. 더해진 기능은 기록철과 문자열 모두를 읽을 수 있다는 점과 늘어난 선택지, 늘어난 형식 규제자입니다.

입력을 낱말 연속, 구분자(공백 따위), 문자로 해석합니다. 구분자와 공백을 이루는 문자는 선택지로 지정합니다. 형식은 문자 사이에 있는 형식 지정자로 구성합니다. 형식에서 공백이 연이은 문자 사이에서 규제자를 드러내지만, 공백 자체는 규제자가 아닙니다.

출력 C는 열 개수가 형식 규제자 갯수에 따르는 낱칸 배열입니다.

입력의 첫 번째 낱말이 형식의 첫 번째 규제자와 맞물려 출력의 첫 번째 열에 들어갑니다. 그리고 입력의 두 번째 낱말이 형식의 두 번째 규제자와 맞물려 출력의 두 번째 열에 들어가는 형식입니다. 규제자보다 낱말 개수가 많으면, 모든 낱말을 구문 분석할 때까지 규제자를 반복하여 사용하거나 반복에 지정한 횟수까지만 규제자를 반복하여 사용합니다.(아래에 자세한 내용 있음)

문자열 형식문자열에 들어있는 낱말을 어떻게 구문 부석할지 기술합니다. fscanf처럼 형식에 있는 공백을 제외한 글월 가운데 아래 열거한 규제자가 아닌 글월은 문자로 처리합니다. 두 형식 규제자 사이에 문자가 있으려면 반드시 입력 흐름에서 해당 문자가 규제자와 일치하는 낱말 사이에 있어야 합니다.

아래는 올바른 규제자입니다.

%f
%f64
%n

낱말을 숫자로 구문 분석하고 배정도로 변환합니다.

%f32

낱말을 숫자로 구문 분석하고 단정도로 변환합니다.(떠돌이 소수점)

%d
%d8
%d16
%d32
%d64

낱말을 숫자로 구문 분석하고  int8, int16, int32, int64으로 변환합니다. 크기를 지정하지 않으면 int32으로 변환합니다.

%u
%u8
%u16
%u32
%u64

낱말을 숫자로 구문 분석하고  uint8, uint16, uint32, uint64으로 변환합니다. 크기를 지정하지 않으면 uint32으로 변환합니다.

%s

낱말을 문자열로 구문 분석합니다. 문자열은 공백, 줄 끝, 선택지로 지정한 구분자로 끝납니다.

%q

낱말을 "따옴표로 묶인 문자열"로 구문 분석합니다. 문자열의 첫 번째 문자가 쌍따옴표(")이면 다음 쌍따옴표가 나올 때까지의 모든 내용을 —공백, 구분자, 줄 끝 문자 포함— 같은 문자열로 취급합니다. 입력에 쌍인 쌍따옴표가 있으면, 해당 쌍따옴표를 홑따옴표로 바꾸어 출력합니다. 예를 들어, "He said ""Hello"""를 입력하면 ’He said "Hello"’를 내놓습니다.

%c

입력에서 그다음 문자를 읽습니다. 구분자, 공백, 줄 끝 문자도 읽습니다.

%[…]
%[^…]

첫 번째 꼴에서 낱말은 괄호 안에 있는 문자로만 이루어진 가장 긴 나열입니다. 문자 범위는 붙임표로 지정합니다. 예를 들어, 미국정보교환표준부호를 사용한다고 할 때, %[0-9a-zA-Z]는 모든 영수문자와 일치합니다. 매트랩이 붙임표도 개별 문자로 다루기 때문에 이 표현식은 영수문자와만 일치합니다. ’-’도 일치시키려면, 붙임표를 괄호 첫 문자 또는 끝 문자로 넣어야 합니다. ’]’도 일치시키려면, 이 대괄호를 괄호 첫 문자로 넣어야 합니다. 첫 번째 문자가 ’^’이면, 낱말은 괄호 안에 열거한 문자가 아닌 문자로 이루어진 것입니다.

%N…

%s, %c %d, %f, %n, %u에 N이 1보다 큰 정수로써 %Ns처럼 적어 범위를 지정해 줄 수도 있습니다. %c에서는 문자 한 개가 아닌 문자 N개를 읽도록 합니다. 이외의 규제자에서는 읽을 숫자의 최대 갯수입니다. 일반적인 규제자가 보통보다 적은 문자만 읽도록 할 수 있습니다. 복소수는 실수부 N개, 허수부 N개식입니다. %f와 %n에서 형식 규제자 %N.Mf가 가능하며, M은 소수점 아래 최대 문자 갯수이고, M 이후의 소수점 숫자는 무시합니다. 예를 들어, %8.2f는 12.345e6을 1.234e7로 읽습니다.

%*…

변환 규제자의 나머지로 지정된 낱말을 건너뜁니다.

literals

형식에 자증상수인 문자 문자열이 있으면, 이는 읽는 도중에는 읽지 않고 건너 뜁니다. 입력한 문자열이 이 자증상수와 일치하지 않으면, 읽기를 그만둡니다.

첫 번째 규제자와 맞물리게 구문 분석한 낱말은 첫 번째 출력 매개변수에 들어가는 방식입니다.

기본적으로 입력 인수가 하나 밖에 없으면 형식"%f"입니다. 이 말은 입력에서 읽은 숫자를 단일 열 벡터에 넣는다는 뜻입니다. 형식이 빔을 명시하면(""), textscan은 입력한 자료의 첫 줄에 있는 기록란 갯수만큼 열을 만들어 거기에 자료를 넣어 반환합니다. 위 두 형식은 자료가 숫자로만 이루어져 있을때만 알맞습니다.

예를 들어, 아래 문자열은

string = "\
Bunny Bugs   5.5\n\
Duck Daffy  -7.5e-5\n\
Penguin Tux   6"

이 표현식으로 읽을 수 있습니다.

a = textscan (string, "%s %s %f");

선택 수치형 인수 반복은 읽을 항목 개수를 제한하는데 씁니다.

-1

문자열 또는 기록철을 끝까지 모두 다 읽습니다.(기본)

N

다음 두 조건 가운데 하나라도 만족할 때까지 읽습니다. (1) 형식을 N번 처리함 (2) 입력의 N번 줄까지 처리함. 0도 반복에서 올바른 값입니다. 현재는 %q, %c, %[…]$로 읽은 줄 끝 문자로 줄 갯수를 셀 수 없습니다. 매트랩과 다른 점이며, 추후에 바뀔 수도 있습니다.

textscan의 작동 방식은 속성/값 쌍으로 바꿉니다. 아래 속성이 가능합니다.

"BufSize"

내부 완충칸의 바이트 수를 정합니다. 긴 문자열을 입력하는 등 큰 기록철을 읽을 때, 이 값을 크게 하면 느린 처리 속도를 높일 수 있습니다. 기본값은 4096이고, n 값을 지정하여 바꿀 수 있습니다.

"CollectOutput"

1 또는 참 값으로 설정하면 textscan이 출력한 낱칸 배열에서 같은 구실갈인 열을 엮습니다. 0 또는 거짓(기본) 값으로 설정하면 출력에서 열을 손대지 않고 나누어둡니다.

"CommentStyle"

입력에서 어느 부분을 주석으로 보아 처리하지 않고 넘길지 결정합니다. 은 주석 품새로써 (1) 문자열 또는 1x1짜리 낱칸 배열로 지정하여 지정한 문자(열) 오른쪽의 내용을 주석으로 보거나 (2) 낱칸 배열인 문자열 두 개로 지정하여 첫 번째 문자열과 두 번째 문자열 사이에 있는 모든 내용을 주석으로 보는 방법이 있습니다. 주석은 공백이 구분자가 아니면서 구문 분석된 문자열에 포함될 때만 구문 분석합니다.

"Delimiter"

이 문자열이면 에 있는 모든 문자를 사용하여 입력에서 낱말을 구분합니다. 이 낱칸 배열인 문자열이면, 배열에 있는 모든 문자열을 사용하여 입력에서 낱말을 구분합니다.(기본값은 모든 공백)

"EmptyValue"

공백으로 구분하지 않은 자료에서 빈 수칫값을 대용하여 반환할 값입니다. 기본값은 불능수입니다. 자료형이 불능수를 지원하지 않으면(int32 따위) 0을 기본으로 씁니다.

"EndOfLine"

은 빈 값 또는 줄 끝 문자를 지정하는 문자 한 개 또는 줄 끝 문자 쌍 "\r\n"입니다. 줄 끝 문자 쌍을 사용하면 "\r", "\n", "\r\n"을 모두 새 줄 하나로 셉니다. 아무 값도 주지 않으면 "\r\n"을 씁니다.

"HeaderLines"

기록철_식별자가 가리키는 기록철에서 만큼의 줄을 앞에서부터 처리하지 않고 건너 뜁니다. 이 속성/값 쌍은 주석인 줄과 주석이 아닌 줄을 구분하지 않습니다.

"MultipleDelimsAsOne"

이 0이 아니면, 사이사이에 공백이 없이 줄줄이 잇따른 구분자를 구분자 한 개로 뭉뚱그립니다. 잇따른 구분자를 수직으로 정렬하지 않습니다. 이 선택지를 설정하지 않으면 줄 끝 앞에 있는 규정자 한 개로 줄을 빈 값으로 끝낼 수 없으나 줄 맨 앞에 있는 규정자 한 개로 줄을 빈 값으로 시작할 수 있습니다.

"TreatAsEmpty"

구분자 또는 공백으로 둘러싸인 곳에서 에 있는 문자열(들)이 한 번 일치한 곳을 결측값으로 다룹니다.

"ReturnOnError"

숫자 1 또는 참으로 설정하면, 문자열을 %f로 읽는 따위의 오류가 발생했을 때 바로 정상적으로 내놓습니다. 숫자 0 또는 거짓으로 설정하면, 오류를 내놓고 자료는 내놓지 않습니다.

"Whitespace"

에 있는 모든 문자를 공백으로 해석하여 자릅니다. 기본 공백 값은 " \b\r\n\t"(띄어쓰기도 있음에 유의)입니다. 공백 범위를 ""(빔)으로 설정하고 "%s" 형식 변환 규제자를 주지 않는 이상 띄어쓰기는 언제나 공백의 일부입니다.

문자열 또는 기록철_식별자에 있는 낱말 개수가 형식 변환 규제자 개수의 배수와 딱 맞지 않으면, textscan은 문자열 또는 기록철의 마지막 문자가 EndOfLine 선택지에서 설정한 줄 끝인지에 따라 다른 양상을 보입니다.

마지막 문자가 줄 끝일 때

자료 열을 빈 기록란, 불능수, 0(정수 기록란에 한함)으로 메꾸어 모든 열이 같은 길이가 되도록 합니다.

마지막 문자가 줄 끝이 아닐 때

자료 열을 메꾸지 않습니다. 길이가 들쭉날쭉한 열을 내놓습니다.

두 번째 출력에서 자리는 기록철 또는 문자열에서 처리가 멈춘 문자의 위치를 제공합니다.

같이 보기: dlmread, fscanf, load, strread, textread.

importdata 함수는 여러 종류의 자료를 다룹니다.

A = importdata (기록철_이름)
A = importdata (기록철_이름, 구분자)
A = importdata (기록철_이름, 구분자, header_rows)
[A, 구분자] = importdata (…)
[A, 구분자, header_rows] = importdata (…)

기록철 기록철_이름에서 자료를 가져옵니다.

입력 매개변수:

여러가지 기록철을 지원합니다.

같이 보기: textscan, dlmread, csvread, load.


이전: 명령 처리기 입력, 상위 문서: 기본 입출력   [차례][찾아보기]