fgets write -1.000000e+00 in output file

2 ビュー (過去 30 日間)
Mohamed AKI Ahmed
Mohamed AKI Ahmed 2022 年 3 月 21 日
コメント済み: Mohamed AKI Ahmed 2022 年 5 月 30 日
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);

採用された回答

Stephen23
Stephen23 2022 年 3 月 21 日
while ~feof(file)
  3 件のコメント
Stephen23
Stephen23 2022 年 3 月 22 日
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 2022 年 5 月 30 日
Sorry for the late reply. It does work now, thanks a lot for your help

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLow-Level File I/O についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by