# mget

reads byte or word in a given binary format and converts to a double type

# mgeti

reads byte or word in a given binary format and returns an int type

## Calling Sequence

                x = mget([n, type, fd])
                x = mgeti([n, type, fd])

## Arguments

n

  a positive integer scalar: the number of items to be read.

fd

  a scalar: a file descriptor returned by the function `mopen`. `-1` stands for last opened file. Default value is `-1`.

type

  a string: the binary format used to write all the entries of `x`.

x

  a vector of floating point or integer numbers.

## Description

The `mget` function reads data in the input specified by the stream parameter `fd` and returns a vector of floating point data.

The `mgeti` function reads data in the input specified by the stream parameter `fd` and returns a vector of integer data.

Data is read at the position at which the file pointer is currently pointing and advances the indicator appropriately.

The `type` parameter is a conversion specifier which may be set to any of the following flag characters (with default value `"l"`):

On Windows, default behavior is to skip byte 13 (`0x0D`). `mopen` should be called with the `'b'` option, e.g. `fd1 = mopen(file1,'rb')`, so that all bytes will be read without exception.

Data type:

d

  double

f

  float

l

  long long int

i

  int or long int

s

  short

c

  character

Optional flag:

u..

  unsigned (in combination with one of the above types)

..l

  little endian (in combination with one of the above types)

..b

  big endian (in combination with one of the above types)

Bytes read is automatically swapped if necessary (by checking `little=endian` status).

This default swapping behavior can be suprressed by adding a flag in the `mopen` function.

Formats `"l"`, `"d"` and `"f"` are only valid with the `mget` function.

## Examples

    file1 = fullfile(TMPDIR,'test1.bin');
    file2 = fullfile(TMPDIR,'test2.bin');
    fd1=mopen(file1,'wb');
    fd2=mopen(file2,'wb');
    mput(1996,'ull',fd1);
    mput(1996,'ull',fd2);
    mclose(fd1);
    mclose(fd2);

    fd1=mopen(file1,'rb');
    if 1996<>mget(1,'ull',fd1)
      write(%io(2),'Bug');
    end

    fd2=mopen(file2,'rb');
    if 1996<>mget(1,'ull',fd2)
      write(%io(2),'Bug');
    end

    mclose(fd1);
    mclose(fd2);

## See Also

- mclose
- meof
- mfprintf
- fprintfMat
- mfscanf
- fscanfMat
- mgetl
- mgetstr
- mopen
- mprintf
- mput
- mputl
- mputstr
- mseek
- mtell
- mdelete