C语言把文件看作是一个字符的序列,即由一个一个字符的数据顺序组成。根据数据组织形式,可分为ASCII文件和二进制文件。ASCII文件又称为文本文件。二进制文件可以随机存储。  

1. 二进制文本读取(.bin)

[Filename,Pathname] = uigetfile('*.bin','选择数据文件'); %打开对话框,选择数据文件
Pathname %显示路径 不可加分号 fid = fopen([Pathname Filename],'w'); %只写方式打开文件描述符 fwrite(fid,Buff,'precision'); %写入数据 fclose(fid); %关闭文件描述符 fid = fopen([Pathname Filename],r'); %只读方式打开文件描述符 Seq = (fid,'precision'); %读出数据 fclose(fid); %关闭文件描述符
Seq = Seq'; %获得行向量
disp(Seq); %通过Command Window窗口显示

  注意:.bin文件数据可直接读取,或通过matlab写入(自动调整数据格式)后读取,不可通过在.txt中写入数据后改为.bin的方式读取。

     fopen中的精度应小于等于fwrite中的精度。

     fread读取的数据以列向量方式存储,可通过转置获得行向量。

     precision: int8, int16, int32, char...

2. 文本文件读取(.txt)  

[Filename,Pathname] = uigetfile('*.txt','选择数据文件'); %打开对话框,选择文本文件
Pathname %显示路径 不可加分号

Seq = textread([Pathname Filename],'format'); %读出数据
Seq = hex2dec(Seq); %若数据为16进制,可转为10进制
Seq = Seq'; %获得行向量
disp(Seq); %通过Command Window窗口显示

  注意:textread读取后按字符处理,同样是列向量存储。

  format: %s 字符串格式读取 

      %f 浮点型格式读取

     %d 整型格式读取

 

 3. 其他相关函数

  1). fseek函数用于改变文件的位置指针。调用形式:fseek(文件类型指针,位移量,起始点),起始点用0、1、2表示,0(SEEK_SET):文件开始位置;1(SEEK_CUR):文件当前位置;2(SEEK_END):文件末尾。位移量为正表示相对起始点向后移动,位移量为负表示相对起始点向前移动。

  2). rewind(fp):使位置指针移动到文件头。

  3). feof(fp):判断文件是否已指到了文件末尾,如果已指到末尾则返回非零值,否则为零。

  4). ftell(fp):获得流式文件中的当前位置。