File: Temporary-Files.html

package info (click to toggle)
octave 4.0.3-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 94,200 kB
  • ctags: 52,925
  • sloc: cpp: 316,850; ansic: 43,469; fortran: 23,670; sh: 13,805; yacc: 8,204; objc: 7,939; lex: 3,631; java: 2,127; makefile: 1,746; perl: 1,022; awk: 988
file content (161 lines) | stat: -rw-r--r-- 8,679 bytes parent folder | download | duplicates (2)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Octave: Temporary Files</title>

<meta name="description" content="GNU Octave: Temporary Files">
<meta name="keywords" content="GNU Octave: Temporary Files">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="C_002dStyle-I_002fO-Functions.html#C_002dStyle-I_002fO-Functions" rel="up" title="C-Style I/O Functions">
<link href="EOF-and-Errors.html#EOF-and-Errors" rel="next" title="EOF and Errors">
<link href="Binary-I_002fO.html#Binary-I_002fO" rel="prev" title="Binary I/O">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en">
<a name="Temporary-Files"></a>
<div class="header">
<p>
Next: <a href="EOF-and-Errors.html#EOF-and-Errors" accesskey="n" rel="next">EOF and Errors</a>, Previous: <a href="Binary-I_002fO.html#Binary-I_002fO" accesskey="p" rel="prev">Binary I/O</a>, Up: <a href="C_002dStyle-I_002fO-Functions.html#C_002dStyle-I_002fO-Functions" accesskey="u" rel="up">C-Style I/O Functions</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Temporary-Files-1"></a>
<h4 class="subsection">14.2.17 Temporary Files</h4>

<p>Sometimes one needs to write data to a file that is only temporary.
This is most commonly used when an external program launched from
within Octave needs to access data.  When Octave exits all temporary
files will be deleted, so this step need not be executed manually.
</p>
<a name="XREFmkstemp"></a><dl>
<dt><a name="index-mkstemp"></a>Built-in Function: <em>[<var>fid</var>, <var>name</var>, <var>msg</var>] =</em> <strong>mkstemp</strong> <em>(&quot;<var>template</var>&quot;)</em></dt>
<dt><a name="index-mkstemp-1"></a>Built-in Function: <em>[<var>fid</var>, <var>name</var>, <var>msg</var>] =</em> <strong>mkstemp</strong> <em>(&quot;<var>template</var>&quot;, <var>delete</var>)</em></dt>
<dd><p>Return the file descriptor <var>fid</var> corresponding to a new temporary file
with a unique name created from <var>template</var>.
</p>
<p>The last six characters of <var>template</var> must be <code>&quot;XXXXXX&quot;</code> and
these are replaced with a string that makes the filename unique.  The file
is then created with mode read/write and permissions that are system
dependent (on GNU/Linux systems, the permissions will be 0600 for versions of
glibc 2.0.7 and later).  The file is opened in binary mode and with the
<code><span class="nolinebreak">O_EXCL</span></code><!-- /@w --> flag.
</p>
<p>If the optional argument <var>delete</var> is supplied and is true, the file will
be deleted automatically when Octave exits.
</p>
<p>If successful, <var>fid</var> is a valid file ID, <var>name</var> is the name of the
file, and <var>msg</var> is an empty string.  Otherwise, <var>fid</var> is -1,
<var>name</var> is empty, and <var>msg</var> contains a system-dependent error message.
</p>
<p><strong>See also:</strong> <a href="#XREFtempname">tempname</a>, <a href="#XREFtempdir">tempdir</a>, <a href="#XREFP_005ftmpdir">P_tmpdir</a>, <a href="#XREFtmpfile">tmpfile</a>, <a href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>.
</p></dd></dl>


<a name="XREFtmpfile"></a><dl>
<dt><a name="index-tmpfile"></a>Built-in Function: <em>[<var>fid</var>, <var>msg</var>] =</em> <strong>tmpfile</strong> <em>()</em></dt>
<dd><p>Return the file ID corresponding to a new temporary file with a unique
name.
</p>
<p>The file is opened in binary read/write (<code>&quot;w+b&quot;</code>) mode and will be
deleted automatically when it is closed or when Octave exits.
</p>
<p>If successful, <var>fid</var> is a valid file ID and <var>msg</var> is an empty
string.  Otherwise, <var>fid</var> is -1 and <var>msg</var> contains a
system-dependent error message.
</p>
<p><strong>See also:</strong> <a href="#XREFtempname">tempname</a>, <a href="#XREFmkstemp">mkstemp</a>, <a href="#XREFtempdir">tempdir</a>, <a href="#XREFP_005ftmpdir">P_tmpdir</a>.
</p></dd></dl>


<a name="XREFtempname"></a><dl>
<dt><a name="index-tempname"></a>Built-in Function: <em><var>fname</var> =</em> <strong>tempname</strong> <em>()</em></dt>
<dt><a name="index-tempname-1"></a>Built-in Function: <em><var>fname</var> =</em> <strong>tempname</strong> <em>(<var>dir</var>)</em></dt>
<dt><a name="index-tempname-2"></a>Built-in Function: <em><var>fname</var> =</em> <strong>tempname</strong> <em>(<var>dir</var>, <var>prefix</var>)</em></dt>
<dd><p>Return a unique temporary file name as a string.
</p>
<p>If <var>prefix</var> is omitted, a value of <code>&quot;oct-&quot;</code> is used.
</p>
<p>If <var>dir</var> is also omitted, the default directory for temporary files
(<code>P_tmpdir</code>) is used.  If <var>dir</var> is provided, it must exist,
otherwise the default directory for temporary files is used.
</p>
<p>Programming Note: Because the named file is not opened by <code>tempname</code>,
it is possible, though relatively unlikely, that it will not be available
by the time your program attempts to open it.  If this is a concern,
see <code>tmpfile</code>.
</p>
<p><strong>See also:</strong> <a href="#XREFmkstemp">mkstemp</a>, <a href="#XREFtempdir">tempdir</a>, <a href="#XREFP_005ftmpdir">P_tmpdir</a>, <a href="#XREFtmpfile">tmpfile</a>.
</p></dd></dl>


<a name="XREFtempdir"></a><dl>
<dt><a name="index-tempdir"></a>Function File: <em><var>dir</var> =</em> <strong>tempdir</strong> <em>()</em></dt>
<dd><p>Return the name of the host system&rsquo;s directory for temporary files.
</p>
<p>The directory name is taken first from the environment variable
<code>TMPDIR</code>.  If that does not exist the system default returned by
<code>P_tmpdir</code> is used.
</p>
<p><strong>See also:</strong> <a href="#XREFP_005ftmpdir">P_tmpdir</a>, <a href="#XREFtempname">tempname</a>, <a href="#XREFmkstemp">mkstemp</a>, <a href="#XREFtmpfile">tmpfile</a>.
</p></dd></dl>


<a name="XREFP_005ftmpdir"></a><dl>
<dt><a name="index-P_005ftmpdir"></a>Built-in Function: <em></em> <strong>P_tmpdir</strong> <em>()</em></dt>
<dd><p>Return the name of the host system&rsquo;s <strong>default</strong> directory for
temporary files.
</p>
<p>Programming Note: The value returned by <code>P_tmpdir</code> is always the
default location.  This value may not agree with that returned from
<code>tempdir</code> if the user has overridden the default with the <code>TMPDIR</code>
environment variable.
</p>
<p><strong>See also:</strong> <a href="#XREFtempdir">tempdir</a>, <a href="#XREFtempname">tempname</a>, <a href="#XREFmkstemp">mkstemp</a>, <a href="#XREFtmpfile">tmpfile</a>.
</p></dd></dl>


<hr>
<div class="header">
<p>
Next: <a href="EOF-and-Errors.html#EOF-and-Errors" accesskey="n" rel="next">EOF and Errors</a>, Previous: <a href="Binary-I_002fO.html#Binary-I_002fO" accesskey="p" rel="prev">Binary I/O</a>, Up: <a href="C_002dStyle-I_002fO-Functions.html#C_002dStyle-I_002fO-Functions" accesskey="u" rel="up">C-Style I/O Functions</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>