Can anyone tell me where I went wrong below that I get Invalid file identifier error? This code attempts to write data in different output files, where file name includes a number and strings.

3 次查看(过去 30 天)
ST = 14;
NR = 2
for r = 1:NR
file = fopen(['LadPos' int2str(ST+r) '.txt','w']);
fprintf([file,'Competition Ladder for Round' char(ST+r)]);
for i = 1:NT
fprintf(file,'%d %s %d\n',i,Classiclad(i,:),classic(i));
end
fclose(file);
....

回答(2 个)

Orion
Orion 2014-11-27
You wrote
fprintf([file,'Competition Ladder for Round' char(ST+r)])
the [ ] are misplaced, it should be :
fprintf(file,['Competition Ladder for Round' char(ST+r)])

Image Analyst
Image Analyst 2014-11-27
Try this:
ST = 14;
NR = 2
NT = 3
for r = 1:NR
baseFileName = sprintf('LadPos%d.txt', ST+r);
fullFileName = fullfile(pwd, baseFileName)
fileID = fopen(fullFileName, 'wt');
fprintf('Competition Ladder for Round %d', (ST+r));
fprintf(fileID, 'Competition Ladder for Round %d' (ST+r));
for i = 1 : NT
fprintf(1,'%d %s %d\n',i,Classiclad(i,:),classic(i));
fprintf(fileID,'%d %s %d\n',i,Classiclad(i,:),classic(i));
end
fclose(fileID);
end

类别

Help CenterFile Exchange 中查找有关 Software Development Tools 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by