Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.5.1 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2024.1.0. This page might be outdated.
See the recommended documentation of this function

Scilab Help >> Files : Input/Output functions > mgetstr


reads a character string from a file

Calling Sequence

str = mgetstr(n, [fd])



non-negative integer: how many characters should be read.


an integer: file descriptor as returned by mopen: where characters should be read. The value -1 stands for the last opened file and is the default.


the character string to be read.


The mgetstr function attempts to read up to n characters from a file. If end of file is reached before n characters are read, mgetstr returns the properly read values only. As a consequence, when the read cursor is already at the end of the file when mgetstr is called, it returns an empty string no matter what value is provided for n.


fn = SCI + '/ACKNOWLEDGEMENTS'; // absolute path to some file
details = fileinfo(fn);         // retrieve file details
len = details(1);               // get file length
fd = mopen(fn, 'rt');           // open file as text with read mode
str1 = mgetstr(33, fd)          // read 33 characters from fd
length(str1)                    // 33 characters read
str2 = mgetstr(272, fd)         // read the next 272 characters from fd
length(str2)                    // 272 characters read
mseek(len - 5);                 // jump to the 5th character before end of file
str3 = mgetstr(10, fd)          // try to read 10 characters: returns 5 characters only, no more available
length(str3)                    // yes, there are 5 characters: you just can't see the linefeed :)
str4 = mgetstr(10, fd)          // read 10 characters: returns empty string
length(str4)                    // empty string
mclose(fd);                     // close file descriptor

See Also

  • mclose — closes an opened file
  • meof — checks if end of file has been reached
  • mfprintf — converts, formats, and writes data to a file
  • fprintfMat — writes a matrix in a file
  • mfscanf — reads input from the stream pointer stream (interface to the C fscanf function)
  • fscanfMat — reads a matrix from a text file
  • mget — reads byte or word in a given binary format and converts to a double type
  • mopen — opens a file in Scilab
  • mprintf — converts, formats, and writes data to the main scilab window
  • mput — writes byte or word in a given binary format
  • mputstr — writes a character string in a file
  • mseek — sets current position in a binary file
  • mtell — Returns the offset of the current byte relative to the beginning of a file
  • mdelete — deletes file(s)
  • "Input/Output functions" section
Report an issue
<< mgetl Files : Input/Output functions mopen >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 13:46:51 CEST 2014