當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


erlang iolist_to_iovec(IoListOrBinary)用法及代碼示例

erlang:iolist_to_iovec(IoListOrBinary) -> iovec()
OTP 20.1
類型:
IoListOrBinary = iolist() | binary()

返回一個約韋茨由整數和二進製組成IoListOrBinary。當您想要展平 iolist 但不需要單個二進製文件時,此函數非常有用。這對於將數據傳遞給 nif 函數非常有用,例如enif_inspect_iovec或者進行更有效的消息傳遞。使用此函數的優點iolist_to_binary/1是它不必複製off-heap 二進製文件.例子:

> Bin1 = <<1,2,3>>.
<<1,2,3>>
> Bin2 = <<4,5>>.
<<4,5>>
> Bin3 = <<6>>.
<<6>>
%% If you pass small binaries and integers it works as iolist_to_binary
> erlang:iolist_to_iovec([Bin1,1,[2,3,Bin2],4|Bin3]).
[<<1,2,3,1,2,3,4,5,4,6>>]
%% If you pass larger binaries, they are split and returned in a form
%% optimized for calling the C function writev.
> erlang:iolist_to_iovec([<<1>>,<<2:8096>>,<<3:8096>>]).
[<<1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   0,...>>,
 <<0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   ...>>,
 <<0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,...>>]

相關用法


注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 iolist_to_iovec(IoListOrBinary) -> iovec()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。