Why fscanf return strange character I do not see in notepad?

11 ビュー (過去 30 日間)
pietro
pietro 2016 年 5 月 6 日
コメント済み: Walter Roberson 2016 年 5 月 9 日
Hi all,
I have several txt files that look fine in Notepad, but they are full of strange characters from fscanf and I'm wondering why it occurs.
Here my code:
TxtFid=fopen([TxtPath TxtFile]);
Txt=fscanf(TxtFid,'%c');
Here how the a part of the file looks like in notepad:
25,33 de / from 0 à / to 28,6
Here how the same part looks from fscanf:
≤ 25,33 de / from 0 à / to 28,6
Why does it occur? For the coding? May trying several codings solve the problem?
I tried yo change the coding as the following:
TxtFid=fopen([TxtPath TxtFile],[],[],'windows-847');
but Matlab returns:
Error using fopen
Invalid permission.
How may I solve the problem?
Thanks
Cheers
  3 件のコメント
pietro
pietro 2016 年 5 月 9 日
From Matlab documentation:
fileID = fopen(filename,permission,machinefmt,encodingIn)
For this reason, I used the function as the following:
TxtFid=fopen([TxtPath TxtFile],[],[],'windows-847');
Walter Roberson
Walter Roberson 2016 年 5 月 9 日
You need to provide valid entries there. Empty entries are not accepted.

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

採用された回答

Image Analyst
Image Analyst 2016 年 5 月 6 日
Use fread() instead.
  1 件のコメント
pietro
pietro 2016 年 5 月 9 日
It worked. I just used fread in the following way:
Txt=fread(TxtFid);
Txt=char(Txt)';
Why is there so much difference among the two uses?

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

その他の回答 (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