zoukankan      html  css  js  c++  java
  • Matlab 文件操作 [转]

    1、  Matlab文件操作主要有三个步骤:首先打开文件,然后对文件进行读写操作,最后要关闭文件。

    2、  fid=fopen(文件名,打开方式)

    'r'

    只读,文件必须存在(缺省的打开方式)

    'w'

    写文件,若文件已存在则原内容将被覆盖;若文件不存在则新建一个

    'a'

    在文件末尾添加,文件若不存在则新建一个

    'r+'

    可读可写,文件必须存在

    'w+'

    可读可写,若文件已存在则原内容将被覆盖;若文件不存在则新建一个

    'a+'

    可读可写可添加,文件若不存在则新建一个

    3、  fid 为文件句柄,其它函数可以用它对该文件进行操作。如果句柄值大于 0,则表示文件打开成功;若打开失败,fid 的返回值为 -1。

    fid=fopen('output.txt','wt+');

    fprintf(fid,'Hello world!\n');

    fclose(fid);

    4、  有两个标准代码文件,不需打开就可以直接使用,分别为:fid=1 标准输出文件,fid=2 标准错误文件。

    fprintf(1,'Hello world!\n');

    fprintf(2,'Hello world!\n');

    5、  若不指定打开方式,则表示只读。

    6、  文件有两种格式:二进制文件(b)和文本文件(t)。

    6、在Windows下,打开文件的默认是二进制格式,如果要以文本方式打开,则必须在打方式中加上字符 't'。

    fid=fopen('output.txt','wt+');

    7、  其中 fid 为所要关闭的文件的句柄,status 为关闭文件的返回代码,若关闭成功则为 0,否则为 -1。

    status=fclose(fid);

    8、  文本文件的读取

    [A,count]=fscanf(fid,format,size)

    A 用来存放读取的数据

    count 返回读取数据的个数,为可选项

    fid 为文件句柄

    size 为可选项,缺省为读取整个文件,

    若给出,则取值可以是:

    N

    读取 N 个数据到一个列向量

    Inf

    读取整个文件

    [m,n]

    读取 m ´ n 个数据到一个  m ´ n 矩阵中,按列存放

    format 用来控制读取的数据格式,由 % 加上格式符组成,下表中是常见的格式符,在 % 之后可以加上数据宽度,如 %12d

    c

    字符型

    g

    浮点数(自动)

    d

    十进制整数

    o

    八进制

    e

    浮点数(科学计数法)

    s

    字符串

    f

    浮点数(小数形式)

    x

    十六进制

    9、文本文件的写入

    count=fprintf(fid,format,输出变量列表)

    • 将输出变量按指定的格式写入文件中
    • 若省略 fid,则表示在屏幕上输出
    • count 返回所写入的数据元素个数(可省)
    • format 以 % 开头,通常由以下几个部分组成:

    l  fprintf 命令的格式说明符

    c

    字符型

    g

    浮点数(自动)

    d

    十进制整数

    o

    八进制

    e

    浮点数(科学计数法)

    s

    字符串

    f

    浮点数(小数形式)

    x/X

    十六进制

    l  format 中还可以使用的特殊字符

    \b

    退后一格

    \t

    水平制表符

    \f

    换页

    \\

    反斜杠

    \n

    换行

    ''

    单引号

    \r

    回车

    %%

    百分号

    10、读写的定位

    • 打开文件读写数据时,需要判断和控制文件的读写位置,如数据是否读完,或者需要读写指定位置上的数据等。
    • 在读写文件时,Matlab 自动创建一个文件位置指针来管理和维护文件读写数据的起始位置。
    • Matlab 提供了几个文件位置指针定位操作函数:fseek、ftell 、 frewind 和 feof

    Fseek:

    status=fseek(fid,offset,origin)

    fid 为文件句柄

    offset 表示位置指针相对偏移的字节数,若为正表示向文件尾方偏移,若为负表示向文件头方向偏移

    origin 表示位置指针移动的参照位置,有三种取值:

    'cof' 表示当前位置,

     'bof' 表示文件的开始位置,

     'eof' 表示文件末尾;

    若定位成功,status 返回值为 0,否则返回 -1

        ftell、frewind 和 feof:

    返回值为从文件开始到指针当前位置的字节数:position=ftell(fid)

    将位置指针返回到文件的起始位置:frewind(fid)

    判断文件位置指针是否达到文件结束位置,若文件位置指针已在文件末尾,则返回 1,否则返回 0:eofstat=ftell(fid)

  • 相关阅读:
    fragment+viewpager+tablayou实现滑动切换页面
    XML转义字符
    java非覆盖写入文件及在输出文本中换行
    ObjectInputStream怎么判断是否读到末尾
    Linux下安装jdk(xxx.rpm,非xxx.tar.gz,请注意!)过程
    java接口(interface)
    IDEA快捷键(windows)
    maven插件maven-war-plugin
    maven插件maven-source-plugin
    maven插件maven-assembly-plugin
  • 原文地址:https://www.cnblogs.com/longdouhzt/p/2881749.html
Copyright © 2011-2022 走看看