file Identifier Error in parfor loop

Hi all
I want to write many *.txt file in a parfor loop in MATLAB. I use fopen and fprintf. when I use for-loop, the *.txt files created correctly, but when I use parfor-loop the error "Invalid file identifier. Use fopen to generate a valid file identifier." appeared. This error appears when I use MATLAB on linux OS only. ( when I run it with win7, it works correctly). Is there any idea for this error ?

1 Comment

Please post some minimal code that reproduces the problem you're seeing.

Sign in to comment.

Answers (1)

fname = 'junk.txt';
[fid, message] = fopen(fname, 'w');
if fid < 0;
fprintf(2, 'failed to open "%s" because "%s"\n', fname, message);
%and here, get out gracefully
end
parfor i=1:5
fprintf(fid, 'hi\n');
end
fclose(fid);
Still happens in Matlab 2018a. Really bothersome, and stupid behavior.

Asked:

on 10 Nov 2015

Answered:

on 24 Apr 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!