首页 > 其他 > 详细

Matlab txt内容替换函数 fgetl fseek

时间:2014-04-19 08:39:55      阅读:633      评论:0      收藏:0      [点我收藏+]

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\n‘;

% 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>

Matlab txt内容替换函数 fgetl fseek,布布扣,bubuko.com

Matlab txt内容替换函数 fgetl fseek

原文:http://www.cnblogs.com/AI-Algorithms/p/3674290.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!