svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
open_memstream(3c)
open_memstream(3C) Standard C Library Functions open_memstream(3C)
NAME
open_memstream, open_wmemstream - open a dynamic memory buffer stream
SYNOPSIS
#include <stdio.h>
FILE *open_memstream(char **bufp, size_t *sizep);
#include <wchar.h>
FILE *open_wmemstream(wchar_t **bufp, size_t *sizep);
DESCRIPTION
The open_memstream() and open_wmemstream() functions create an I/O
stream associated with a dynamically allocated memory buffer. The
stream is opened for writing and is seekable.
The stream associated with a call to open_memstream() is byte-oriented.
The stream associated with a call to open_wmemstream() is wide-ori‐
ented.
The stream maintains a current position in the allocated buffer and a
current buffer length. The position is initially set to zero (the start
of the buffer). Each write to the stream starts at the current position
and move this position by the number of successfully written bytes for
open_memstream() or the number of successfully written wide characters
for open_wmemstream(). The length is initially set to zero. If a write
moves the position to a value larger than the current length, the cur‐
rent length is set to this position. In this case, a null character for
open_memstream() or a null wide character for open_wmemstream() is ap‐
pended to the current buffer. For both functions, the terminating null
is not included in the calculation of the buffer length.
After a successful fflush() or fclose(), the pointer referenced by bufp
contains the address of the buffer, and the variable pointed to by
sizep contains the smaller of the current buffer length and the number
of bytes for open_memstream(), or the number of wide characters for
open_wmemstream(), between the beginning of the buffer and the current
file position indicator.
After a successful fflush(), the pointer referenced by bufp() and the
variable referenced by sizep remain valid only until the next write op‐
eration on the stream or a call to fclose().
RETURN VALUES
Upon successful completion, these functions return a pointer to the ob‐
ject controlling the stream. Otherwise, a null pointer shall be re‐
turned, and errno shall be set to indicate the error.
ERRORS
These functions will fail if:
EINVAL The bufp or sizep argument is NULL.
ENOMEM Insufficient storage space is available.
USAGE
The buffer created by these functions should be freed by the applica‐
tion after closing the stream, by means of a call to free().
Unlike a stream opened by fmemopen(), the mode of a stream opened by
open_memstream() or open_wmemstream() cannot be changed by a call to
freopen(NULL, mode, stream).
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe _ Stan‐
dardSee standards(7).
SEE ALSO
fmemopen(3C), fopen(3C), freopen(3C), malloc(3C), attributes(7), stan‐
dards(7)
Oracle Solaris 11.4 04 Oct 2013 open_memstream(3C)