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.

1 回表示 (過去 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
  2 件のコメント
Image Analyst
Image Analyst 2014 年 11 月 27 日
You're welcome. Can you officially mark it as "Accepted" then? Thanks.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeNumerical Integration and Differential Equations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by