MATLAB 을 이용하여 파일 쓰기를 할 때는 fprintf () 함수를 사용합니다.
그리고 파일 열기는 fopen(), 파일 닫기는 fclose()를 사용하죠.
줄 바꿈 문자는 아시다시피 '\n' 을 사용하고 command 창에서는 \n 을 이용했을 때 정상적으로 줄 바꿈이 되죠.
그런데 text 의 형태로 파일로 저장할 때, \n 을 사용하면 정상적으로 줄 바꿈이 안 되는 것처럼 보이는 경우가 있습니다.
이는 윈도우의 줄바꿈과 다른 운영체제의 줄 바꿈 문자가 다르기 때문인데요.
윈도우에서는 \r\n 을 사용해야 notepad 등과 같은 프로그램으로 텍스트 파일을 열었을 때 정상적으로 줄 바꿈 됩니다.
간단히 실험을 해 보죠.
다음은 \n 을 사용했을 경우의 예입니다.
fp=fopen('test_.txt','w');
x=1:5;
fprintf(fp,'%d\n',x); % 파일 쓰기
fclose(fp);
disp('command line \n')
fprintf('%d\n',x); % command window쓰기
다음과 같이 command 창에서는 정상적으로 나오죠.
그런데 notepad 로 test.txt 파일을 열었을 때는 다음과 같이 이상한 문자가 써져 있는 것을 확인 할 수 있죠.
다음으로 \r\n 을 사용한 경우 입니다.
fp=fopen('test_dos.txt','w');
x=1:5;
fprintf(fp,'%d\r\n',x); % 파일 쓰기
fclose(fp);
disp('command line \r\n')
fprintf('%d\r\n',x); % command window쓰기
command 창의 결과를 확인 해 보면~ 한 칸씩 빈 공간이 추가 된 것을 확인 할 수 있습니다.
반면에 notepad 로 test_dos.txt 파일을 열어보면 다음과 같이 정상적으로 저장된 것을 확인 할 수 있죠.
'programming language > MATLAB' 카테고리의 다른 글
MATLAB 그래프 자동 업데이트 linkdata (0) | 2012.06.30 |
---|---|
MATLAB assert() 함수 (0) | 2012.06.28 |
MATLAB 이미지 gray scale 변환 (7) | 2012.06.27 |
MATLAB 축에 날짜 표시하기 datetick() (2) | 2012.06.20 |
MATLAB log 저장하기 diary (0) | 2012.06.16 |
MATLAB Harmonographs (0) | 2012.06.11 |
MATLAB MAP data structure (0) | 2012.06.10 |
MATLAB Fast DCT(Discrete cosine transform) algorithm (0) | 2012.05.29 |
댓글