fgets
새 줄(Newline) 문자를 유지하며 파일에서 라인 읽기
설명
예제
한 번에 한 라인씩 파일 읽기
먼저 새 줄 문자를 제외한 다음 포함시켜 파일의 한 라인을 읽습니다. 다음 파일을 사용하십시오.
파일 badpoem.txt
의 첫 번째 라인을 읽으려면 fopen
을 사용하여 파일을 여십시오. 그런 다음 fgetl
을 사용하여 첫 번째 라인을 읽습니다. 이 함수는 새 줄 문자를 제외합니다.
fid = fopen('badpoem.txt'); line_ex = fgetl(fid) % read line excluding newline character
line_ex = 'Oranges and lemons,'
파일에서 같은 라인을 다시 읽으려면 먼저 읽기 위치 표시자를 다시 파일의 시작 부분으로 재설정하십시오.
frewind(fid);
fgets 함수를 사용하여 파일 badpoem.txt
에서 첫 번째 라인을 읽습니다. 이 함수는 새 줄 문자를 포함하여 라인을 읽습니다.
line_in = fgets(fid) % read line including newline character
line_in = 'Oranges and lemons, '
fgetl
함수와 fgets
함수에서 반환된 라인의 길이를 살펴보고 출력값을 비교합니다.
length(line_ex)
ans = 19
length(line_in)
ans = 20
fgetl
은 한 라인으로 표시되는 출력값을 반환하는 반면, fgets
는 새 줄 문자를 포함하는 출력값을 반환하므로, 두 개의 라인으로 표시됩니다.
line_ex
line_ex = 'Oranges and lemons,'
line_in
line_in = 'Oranges and lemons, '
파일을 닫습니다.
fclose(fid);
입력 인수
fileID
— 파일 ID
정수
열려 있는 파일의 파일 ID로, 정수로 지정됩니다. fgets
를 사용하여 파일에서 한 라인을 읽으려면 먼저 fopen
을 사용하여 파일을 열고 파일의 fileID
를 가져와야 합니다.
데이터형: double
nchar
— 문자의 수
정수
다음 라인에서 읽어오는 문자의 개수로, 정수로 지정됩니다. fgets
는 다음 라인의 최대 nchar
자를 반환합니다. nchar
에서 지정된 문자 수가 새 줄 문자 또는 파일 끝 마커 다음에 오는 문자를 포함하면 fgets
는 새 줄 문자 또는 파일 끝 마커 다음에 오는 문자는 반환하지 않습니다.
데이터형: double
출력 인수
tline
— 파일의 다음 라인
문자형 벡터 | 숫자형 스칼라
파일의 다음 라인으로, 문자형 벡터 또는 숫자형 스칼라로 반환됩니다.
파일이 빈 파일이 아니면
fgets
는tline
을 문자형 벡터로 반환합니다.파일이 비었고 파일 끝 표시자만 포함하면,
fgets
는tline
을 숫자형 값-1
로 반환합니다.
ltout
— 라인 종결자
정수
라인 종결자로, 정수로 반환됩니다.
0
부터 65535
까지의 정수는 Unicode® 문자에 해당합니다. char
함수를 사용하여 정수를 대응하는 Unicode 표현으로 변환할 수 있습니다.
팁
tline
은 새 줄 문자 또는 파일 끝 마커 뒤에 오는 어떠한 문자도 포함하지 않습니다.fgets
는 파일과 연결된 인코딩 체계를 사용하여 문자를 읽습니다. 인코딩 체계를 지정하려면fopen
을 사용하십시오.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
함수
fgets
가 파일에서 내용을 읽어 들이지 않는 경우, 생성된 코드는 오류를 보고하거나 -1을 반환하는 대신 빈 값을 반환합니다.함수
fgets
가 null 바이트를 읽어 들이는 경우, 반환되는 값이 잘릴 수 있습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨R2022b: 스레드 기반 환경에서 함수 사용
이 함수는 스레드 기반 환경을 지원합니다.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)