How can I fix my function?
조회 수: 19 (최근 30일)
이전 댓글 표시
function numReplaced=replaceMultiples(fname,num)
clc
num=0
fname='example.txt';
ifn=fname;
ofn=['updated%d %s',num,fname];
ifh=fopen(ifn,'r'); % open the file for reading
ofh=fopen(ofn,'wt'); %open the output file for writing
ln=fgetl(ifh); % try to get the first line of the file
while str2num(fname)
while ~isnan(num)
[tk,ln]=strtok(ln);
if mod(fname,num)==0
fprintf(ofh,'%s ',tk); %write to output file
end
end
fprintf(ofh,'\n'); %after the complete line has
ln=fgetl(ifh);
end
fclose(ifh); % close the file
fclose(ofh);
댓글 수: 0
채택된 답변
Walter Roberson
2018년 10월 29일
Do not assign to fname or num in your code.
str2double(fname) is attempting to interpret the file name itself as a number.
Your code is converting file contents into tokens but it then tries to take modulo on the file name itself instead of examining the content it tokenized.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Filename Construction에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!