open_memstream(3) - wariua/manpages-ko GitHub Wiki

NAME

open_memstream, open_wmemstream - ๋™์  ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ์ŠคํŠธ๋ฆผ ์—ด๊ธฐ

SYNOPSIS

#include <stdio.h>

FILE *open_memstream(char **ptr, size_t *sizeloc);

#include <wchar.h>

FILE *open_wmemstream(wchar_t **ptr, size_t *sizeloc);

glibc ๊ธฐ๋Šฅ ํ™•์ธ ๋งคํฌ๋กœ ์š”๊ฑด (feature_test_macros(7) ์ฐธ๊ณ ):

open_memstream(), open_wmemstream():
glibc 2.10๋ถ€ํ„ฐ:
_POSIX_C_SOURCE >= 200809L
glibc 2.10 ์ „:
_GNU_SOURCE

DESCRIPTION

open_memstream() ํ•จ์ˆ˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ์— ์“ฐ๊ธฐ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ์ŠคํŠธ๋ฆผ์„ ์—ฐ๋‹ค. ํ•จ์ˆ˜์—์„œ ๋ฒ„ํผ๋ฅผ ๋™์ ์œผ๋กœ ํ• ๋‹นํ•˜๋ฉฐ ํ•„์š”์— ๋”ฐ๋ผ ๋ฒ„ํผ๊ฐ€ ์ž๋™์œผ๋กœ ์ปค์ง„๋‹ค. ์ฒ˜์Œ์—๋Š” ๋ฒ„ํผ ํฌ๊ธฐ๊ฐ€ 0์ด์–ด์•ผ ํ•œ๋‹ค. ์ŠคํŠธ๋ฆผ์„ ๋‹ซ์€ ํ›„์— ํ˜ธ์ถœ์ž๊ฐ€ ๊ทธ ๋ฒ„ํผ๋ฅผ free(3) ํ•ด์•ผ ํ•œ๋‹ค.

ptr๊ณผ sizeloc์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ์œ„์น˜๋ฅผ ํ†ตํ•ด ๋ฒ„ํผ์˜ ํ˜„์žฌ ์œ„์น˜์™€ ํฌ๊ธฐ๋ฅผ ์•Œ๋ ค ์ค€๋‹ค. ์ด ํฌ์ธํ„ฐ๋“ค์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ์œ„์น˜๋Š” ์ŠคํŠธ๋ฆผ์ด ํ”Œ๋Ÿฌ์‹œ ๋  ๋•Œ(fflush(3))๋งˆ๋‹ค, ๊ทธ๋ฆฌ๊ณ  ์ŠคํŠธ๋ฆผ์ด ๋‹ซํž ๋•Œ(fclose(3)) ๊ฐฑ์‹ ๋œ๋‹ค. ํ˜ธ์ถœ์ž๊ฐ€ ์ŠคํŠธ๋ฆผ์— ์ถ”๊ฐ€๋กœ ์ถœ๋ ฅ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š” ๋™์•ˆ๋งŒ ๊ทธ ๊ฐ’๋“ค์ด ์œ ํšจํ•˜๋‹ค. ์ถ”๊ฐ€๋กœ ์ถœ๋ ฅ์„ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ์— ๊ทธ ๊ฐ’๋“ค์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ๋จผ์ € ์ŠคํŠธ๋ฆผ์„ ๋‹ค์‹œ ํ”Œ๋Ÿฌ์‹œ ํ•ด์•ผ ํ•œ๋‹ค.

๋ฒ„ํผ ๋์— ๋„ ๋ฐ”์ดํŠธ๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ์ด ๋ฐ”์ดํŠธ๋Š” sizeloc์— ์ €์žฅ๋˜๋Š” ํฌ๊ธฐ ๊ฐ’์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค.

์ŠคํŠธ๋ฆผ์— ํ˜„์žฌ ์œ„์น˜ ๊ฐœ๋…์ด ์žˆ์œผ๋ฉฐ ์ฒ˜์Œ์—๋Š” 0(๋ฒ„ํผ ์‹œ์ž‘์ )์ด๋‹ค. ๊ฐ ์“ฐ๊ธฐ ๋™์ž‘์—์„œ ๊ทธ ๋ฒ„ํผ ์œ„์น˜๋ฅผ ๋ฌต์‹œ์ ์œผ๋กœ ์กฐ์ •ํ•œ๋‹ค. fseek(3) ๋‚ด์ง€ fseeko(3)๋กœ ์ŠคํŠธ๋ฆผ์˜ ๋ฒ„ํผ ์œ„์น˜๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๊ธฐ๋กํ•œ ๋ฐ์ดํ„ฐ์˜ ๋ ๋„ˆ๋จธ๋กœ ๋ฒ„ํผ ์œ„์น˜๋ฅผ ์˜ฎ๊ธฐ๋ฉด ๊ทธ ์‚ฌ์ด ๊ณต๊ฐ„์„ ๋„ ๋ฌธ์ž๋กœ ์ฑ„์šด๋‹ค.

open_wmemstream()์€ open_memstream()๊ณผ ๋น„์Šทํ•˜๋˜ ๋ฐ”์ดํŠธ ๋Œ€์‹  ํ™•์žฅ ๋ฌธ์ž์—์„œ ๋™์ž‘ํ•œ๋‹ค.

RETURN VALUE

์„ฑ๊ณต ์™„๋ฃŒ ์‹œ open_memstream()๊ณผ open_wmemstream()์€ FILE ํฌ์ธํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์•„๋‹ˆ๋ฉด NULL์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ์˜ค๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋„๋ก errno๋ฅผ ์„ค์ •ํ•œ๋‹ค.

VERSIONS

open_memstream()์€ glibc 1.0.x๋ถ€ํ„ฐ ์ด๋ฏธ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ–ˆ๋‹ค. open_wmemstream()์€ glibc 2.4๋ถ€ํ„ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

ATTRIBUTES

์ด ์ ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์šฉ์–ด๋“ค์— ๋Œ€ํ•œ ์„ค๋ช…์€ attributes(7)๋ฅผ ๋ณด๋ผ.

์ธํ„ฐํŽ˜์ด์Šค ์†์„ฑ ๊ฐ’
open_memstream(),
open_wmemstream()
์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ MT-Safe

CONFORMING TO

POSIX.1-2008. ์ด ํ•จ์ˆ˜๋“ค์€ POSIX.1-2001์— ๋ช…์„ธ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๋“ค์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š๋‹ค.

NOTES

์ด ํ•จ์ˆ˜๋“ค์ด ๋ฐ˜ํ™˜ํ•˜๋Š” ํŒŒ์ผ ์ŠคํŠธ๋ฆผ์—๋Š” ์—ฐ๊ณ„๋œ ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ๊ฐ€ ์—†๋‹ค. (์ฆ‰ ๋ฐ˜ํ™˜๋œ ์ŠคํŠธ๋ฆผ์— fileno(3)๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋œ๋‹ค.)

BUGS

glibc ๋ฒ„์ „ 2.7 ์ „์—์„œ๋Š” open_memstream()์œผ๋กœ ๋งŒ๋“  ์ŠคํŠธ๋ฆผ ๋ ๋„ˆ๋จธ๋กœ ์ด๋™์„ ํ•˜๋ฉด ๋ฒ„ํผ๊ฐ€ ํ™•์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹  fseek(3) ํ˜ธ์ถœ์ด ์‹คํŒจํ•˜๊ณ  -1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

EXAMPLE

fmemopen(3) ์ฐธ๊ณ .

SEE ALSO

fmemopen(3), fopen(3), setbuf(3)


2017-09-15

โš ๏ธ **GitHub.com Fallback** โš ๏ธ