2012-02-29 2 views
0

2 개의 Matlab 인스턴스가 실행 중입니다. 첫 번째는 .txt 파일에 데이터를 쓰는 반면 다른 하나는 해당 데이터를 읽는 것입니다.업데이트되는 동안 txt 파일 읽기가 중단됩니다 - Matlab

.txt 파일이 액세스되고 있는지 확인하여 예외/오류가 발생하는지 확인하는 방법이 있습니까?

두 번째 Matlab 인스턴스가 어쨌든 데이터를 읽지 만 Horzcat 등의 오류가 발생하는 반면, .txt 파일도 업데이트되는 것으로 나타났습니다. 쓰기 인스턴스에

fName = 'Test.txt' ; 

% Matlab Instance1 
mat = 1 + (2-1)*randn(100000,5) ;  mat = mat.' ; 

[fid, fMsg] = fopen(fName, 'at') ; 
if fid~=-1, fprintf(fid, '%.10f\t%.10f\t%.10f\t%.10f\t%.10f\r\n', mat(:)) ; end 
fclose(fid); 

    % Matlab Instance2 
    fid = fopen(fName); 
    C = textscan(fid, '%f %f %f %f %f', 'Delimiter', '\t'); 
    C=cell2mat(C); 
    fclose(fid); 
+1

읽기이 주제 http://stackoverflow.com/questions/3451343/atomically-creating-a-file-lock-in-matlab-file-mutex – Cheery

답변

0

은 쓰기 위해 파일을 열기 전에 'busyWriting.bla'라는 파일을 만들려면 작성 완료 후이 파일을 삭제합니다. 그리고 독서 사례에있는 조항을 모두 동봉하십시오 if(~exist('busyWriting.bla','file')) ... end

+0

나는 당신을 좋아합니다. 해결책. 아주 간단하고 일을합니다. 감사. – Maddy

관련 문제