input

std.input

fun read_line_from

pub fun read_line_from(r: *reader.Reader, buf: *u8, cap: usize) Result[usize, str];

reader 中读取一行到 buf 中,最多读取 cap 字节(包含终止符)

逐字节读取,直到遇到换行符、EOF 或缓冲区填满。去除末尾的 "\r\n""\n" 并添加空字符终止;返回的长度不包含终止符。若行长度超过 cap-1 字节,则会产生错误(溢出的字节保持未读状态,供下次调用读取),而不是进行静默截断;当在输入末尾进行读取且没有缓冲字节时,会产生 reader.ERR_EOF —— 这与返回 Ok(0) 的空行不同。

r:要从中读取的 reader buf:目标缓冲区 cap:缓冲区容量(以字节为单位,包含终止符在内必须至少为 1) 返回值:不包含终止符的行长度,或一个错误

fun read_line

pub fun read_line(buf: *u8, cap: usize) Result[usize, str];

从标准输入 stdin 读取一行到 buf 中,最多读取 cap 字节(包含终止符)

这是对 read_line_from 的一个轻量封装,其数据来源为标准输入文件;有关修剪、截断和输入结束的语义,请参阅该函数说明。

buf:目标缓冲区 cap:缓冲区容量(以字节为单位,包含终止符在内必须至少为 1) 返回值:不包含终止符的行长度,或一个错误