본문 바로가기
MATLAB 코딩/기초

[matlab 공부하자] 40.matlab에서 txt 파일 저장하는 방법(fopen, fprintf)

by bigpicture 2019. 7. 3.
반응형

40.matlab에서 txt 파일 저장하는 방법(fopen, fprintf)




먼저 fopen 이라는 함수에 대해 이해해봅시다. 


우리가 기존에

open.txt 라는 파일이 저장되어 있다고 해봅시다.


파일의 내용은 


1 2 3 4 5


가 들어있다고 해볼게요. 


fopen 함수는 파일을 불러와서 파일에 ID를 할당해주는 함수입니다.

아이디가 할당되면 fscanf 를 이용해서 파일 안에 있는 내용을 볼 수도 있고

fprinf를 이용해서 파일 안의 내용을 수정할 수도 있습니다. 


fopen 함수는 우리가 파일에 접근할 수 있도록 파일과 다른 함수를 연결해주는 ID를 할당해 주는 함수라고 이해하시면 됩니다.


open.txt에 fopen 함수를 적용해보겠습니다. 


>> fopen('open.txt')


ans =


     5



이렇게 5라는 ID가 할당되었습니다.


fopen함수의 디폴트는 

fopen('open.txt', 'r') 입니다. 여기서 'r'은 단순히 읽기만 하겠다는 뜻입니다. 'w'나 'a' 로 바꿔주면 쓰기 즉 수정이 가능해집니다.


'w'와 'a'의 차이는 아래와 같습니다.


'w' 기존 내용에 덮어쓰기

'a' 기존 내용 뒤에 이어쓰기


'w'를 이용해서 open.txt의 내용을 수정해봅시다. 이때 fprinf 함수가 사용됩니다. 사용법을 잘 보세요.


>> ID = fopen('open.txt','w');

fprintf(ID,'%f',[3 3 3]);

>> ID = fopen('open.txt','w');

fprintf(ID,'%f ',[3 3 3]);

>> load('open.txt')

>> open


open =


     3     3     3


내용이 [3 3 3] 으로 수정된 것을 볼 수 있습니다. %f 는 float(실수)형으로 저장하겠다는 뜻입니다. 

character도 저장이 가능합니다. 


아래와 같이 하시면 됩니다. 


>> ID = fopen('open.txt','w');

fprintf(ID,'%c','hello');

ID2 = fopen('open.txt');

fscanf(ID2,'%c',inf)


ans =


hello

반응형

댓글