File: binary-io-1.m

package info (click to toggle)
octave 2.0.13.95-1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 26,052 kB
  • ctags: 16,420
  • sloc: cpp: 67,184; fortran: 41,514; ansic: 26,607; sh: 7,291; makefile: 4,089; lex: 1,961; yacc: 1,852; perl: 1,676; lisp: 1,664; exp: 123
file content (40 lines) | stat: -rw-r--r-- 737 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
type_list = ["char"; "char*1"; "integer*1"; "int8"; 
	     "schar"; "signed char"; "uchar"; "unsigned char";
	     "short"; "ushort"; "unsigned short"; "int";
	     "uint"; "unsigned int"; "long"; "ulong"; "unsigned long";
	     "float"; "float32"; "real*4"; "double"; "float64";
	     "real*8"; "int16"; "integer*2"; "int32"; "integer*4"];

n = rows (type_list);

nm = tmpnam ();

id = fopen (nm, "wb");

if (id > 0)

  for i = 1:n
    fwrite (id, i, deblank (type_list(i,:)));
  endfor

  fclose (id);

  id = fopen (nm, "rb");

  if (id > 0)

    x = zeros (1, n);

    for i = 1:n
      x(i) = fread (id, [1, 1], deblank (type_list(i,:)));
    endfor

    if (x == 1:n)
      printf ("ok\n");
    endif

  endif

endif

unlink (nm);