File: binary-io-1.m

package info (click to toggle)
octave 2.0.16-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 26,276 kB
  • ctags: 16,450
  • sloc: cpp: 67,548; fortran: 41,514; ansic: 26,682; sh: 7,361; makefile: 4,077; lex: 2,008; yacc: 1,849; lisp: 1,702; perl: 1,676; 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);