下の例でq2.txt2行目には空白の2バイト文字が間違って入っています。
str2numではこれを無視するようです。データの2行目は無視されます。警告も出しません。
データに2バイト文字が含まれることを認識して警告を出す方法はありますか?
%e81.m
fileID = fopen('q2.txt');
c = [];
while(1)
tline = fgetl(fileID);
if tline<0 break; end
b = str2num(tline);
c = [c,b];
if isempty(tline) fprintf(" blank line\n"); % advised
else fprintf("line=<%s>\n",tline); end
end
fclose(fileID);
c
%{
%q2.txt
1 1
2  2
3 3 3
4
5
%}

 採用された回答

michio
michio 2020 年 7 月 7 日

0 投票

b = unicode2native(tline);
length(b)
と unicode2native 関数を使った後の b の配列長さ(length(b) )で判別できるかもしれません。
いかがでしょうか。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLogical についてさらに検索

製品

リリース

R2020a

タグ

質問済み:

2020 年 7 月 6 日

回答済み:

2020 年 7 月 7 日

Community Treasure Hunt

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

Start Hunting!