How can I fix my function?
19 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
michael story
il 29 Ott 2018
Modificato: michael story
il 29 Ott 2018
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 Commenti
Risposta accettata
Walter Roberson
il 29 Ott 2018
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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Filename Construction in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!