zoukankan      html  css  js  c++  java
  • Matlab txt内容替换函数 fgetl fseek

    Data Import and Export  :Low-Level File I/O

    the contents of the file:

       16     5     9     4

        2    11     7    14

        3    10     6    15

       13     8    12     1

       55    55    55    55

    Example — Overwriting an Existing Text File.  Replace the third line of the file changing.txt from the previous example with [33 33 33 33]:

    将第三行换成33 33 33 33

    replaceLine = 3;

    myformat = '%5d %5d %5d %5d ';

    % Open the file with permission to read and update.

    % Use fgetl, which reads a line at a time,

    % to place the file position indicator at the third line.

    fid = fopen('changing.txt','r+');

    for k=1:(replaceLine-1);

        fgetl(fid);

    end;

    %将指针移至第三行起始处

    % call fseek between read and write operations

    fseek(fid, 0, 'cof');

    % 在当前位置开始写入

    % print the new values

    fprintf(fid, myformat, [33 33 33 33]);

    %将第三行替换

    % close the file

    fclose(fid);

     

    To view the file, use the type function:

    type changing.txt

    This command returns the new contents of the file:

       16     5     9     4

        2    11     7    14

       33    33    33    33

       13     8    12     1

       55    55    55    55

     

    >> help  fseek

     fseek Set file position indicator.

        STATUS = fseek(FID, OFFSET, ORIGIN) repositions the file position

        indicator in the file associated with the given FID.  fseek sets the

        position indicator to the byte with the specified OFFSET relative to

        ORIGIN.

     

        FID is an integer file identifier obtained from FOPEN.

     

        OFFSET values are interpreted as follows:

            >= 0    Move position indicator OFFSET bytes after ORIGIN.

            < 0    Move position indicator OFFSET bytes before ORIGIN.

     

        ORIGIN values are interpreted as follows:

            'bof' or -1   Beginning of file

            'cof' or  0   Current position in file

            'eof' or  1   End of file

     

        STATUS is 0 on success and -1 on failure.  If an error occurs, use

        FERROR to get more information.

     

    >> help fgetl

     fgetl Read line from file, discard newline character.

        TLINE = fgetl(FID) returns the next line of a file associated with file

        identifier FID as a MATLAB string. The line terminator is NOT

        included. Use FGETS to get the next line with the line terminator

        INCLUDED. If just an end-of-file is encountered, -1 is returned. 

     

        If an error occurs while reading from the file, fgetl returns an empty

        string. Use FERROR to determine the nature of the error.

     

        MATLAB reads characters using the encoding scheme associated with the

        file. See FOPEN for more information.

     

        fgetl is intended for use with files that contain newline characters.

        Given a file with no newline characters, fgetl may take a long time to

        execute.

     

        Example

            fid=fopen('fgetl.m');

            while 1

                tline = fgetl(fid);

                if ~ischar(tline), break, end

                disp(tline)

            end

            fclose(fid);

     

    >> help ischar

     ischar  True for character array (string).

        ischar(S) returns 1 if S is a character array and 0 otherwise.

     

    源文档 <http://hi.baidu.com/curbzz/item/e3661599d4b3e48159146139>

  • 相关阅读:
    同余方程
    倒酒
    机器翻译
    vue 锚点定位
    解决vuex刷新页面数据丢失
    h5 input失去焦点软键盘把页面顶起
    js 监听ios手机键盘弹起和收起的事件
    js 将数组中的每一项安装奇偶重新组合成一个数组对象
    moment.js获取本周本月本年的开始日期和结束日期
    vue 所有的路由跳转加一个统一参数
  • 原文地址:https://www.cnblogs.com/AI-Algorithms/p/3674290.html
Copyright © 2011-2022 走看看