fgets write -1.000000e+00 in output file

2 visualizzazioni (ultimi 30 giorni)
Hello,
I have a code that first opens a file (using fopen), then gets everyline from the file, however, when encountering the end-of-file, and the value is -1, it prints this value in the file generated. Thus, when comparing the original file with the one generated, I have the value -1.000000e+00 written at the end. I want to exclude this value, any suggestions?
file=fopen('poem.txt');
line_ex=fgets(file);
getit{1}=filepath %filepath was indicated before
getit{end+1}=line_ex
while ischar(line_ex)
line_ex=fgets{file};
getit{end+1}=line_ex
end
fclose(file);

Risposta accettata

Stephen23
Stephen23 il 21 Mar 2022
while ~feof(file)
  3 Commenti
Stephen23
Stephen23 il 22 Mar 2022
It works for me:
fid = fopen('old.txt','rt');
fnd = fopen('new.txt','wt');
while ~feof(fid)
str = fgetl(fid);
fprintf(fnd,'%s\n',str);
end
fclose(fid);
fclose(fnd);
type new.txt
AA BB CC
Clearly you are doing something different. But because you do not show your code, I cannot debug it.
Mohamed AKI Ahmed
Mohamed AKI Ahmed il 30 Mag 2022
Sorry for the late reply. It does work now, thanks a lot for your help

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by