害怕返回错误的数据

fread returning wrong data

我正在使用fread读取我C盘的文件,文件内容为:

ssa.txt:  0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

ssb.txt:  0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1

但恐惧正在阅读

第 1 列到第 25 列

48    48    48    48    48    49    49    49    49    48    48    48    48    48    48    48    49    49    49    49    49    48    48    48    48

第 26 列到第 31 列

48    48    48    48    48    48

我的代码:

n = 31;
fid =fopen('ssa.txt');
s1 = fread(fid,[1,n]);
fclose(fid);

fid2 =fopen('ssb.txt');
s2 = fread(fid2,[1,n]);
fclose(fid2);

谁能告诉我哪里出了问题?

我不确定 fread 究竟为什么这样做,我认为这与 fread 读取二进制文件有关,这些数字是 0 的 ASCII 表示和1。我建议的解决方法是仅对数字使用 dlmread

dlmread('SSA.txt')
ans =
  Columns 1 through 16
     0     0     0     0     0     1     1     1     1     0     0     0     0     0     0     0
  Columns 17 through 31
     1     1     1     1     1     0     0     0     0     0     0     0     0     0     0