Mercurial > hg > octave-max
changeset 10081:debb5b35a1a7
implement fileread
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Mon, 11 Jan 2010 10:54:58 +0100 |
parents | cf70ee43077c |
children | 28af9aa6f9ed |
files | scripts/ChangeLog scripts/io/fileread.m scripts/io/module.mk |
diffstat | 3 files changed, 50 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,7 @@ +2010-01-11 Jaroslav Hajek <highegg@gmail.com> + + * io/fileread.m: New source. + 2010-01-10 Jaroslav Hajek <highegg@gmail.com> * plot/private/__scatter__.m: Use alternative strategy for larger
new file mode 100644 --- /dev/null +++ b/scripts/io/fileread.m @@ -0,0 +1,45 @@ +## Copyright (C) 2010 VZLU Prague +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, see +## <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## @deftypefn {Function File} {@var{str} =} fileread (@var{filename}) +## Read the contents of a file and return it as a string. +## @seealso{fread, textread} +## @end deftypefn + +function str = fileread (filename) + + if (nargin != 1) + print_usage (); + endif + + if (! ischar (filename)) + error ("fileread: argument must be a string"); + endif + + fid = fopen (filename, "r"); + if (fid < 0) + error ("fileread: cannot open file"); + endif + + unwind_protect + str = fread (fid, "*char"); + unwind_protect_cleanup + fclose (fid) + end_unwind_protect + +endfunction +