[英]Will cout function of c++ stop printing if it comes across a null character(positioned in middle of array) in character array
如果在字符数组中遇到空字符(位于数组中间),c++ 的 cout 函数会停止打印吗?
首先, std::cout
不是函数。 它是一个对象(特别是一个输出流对象)。
它的<<
运算符已重载。 特别相关的重载是那些接受字符串的重载。
如果我们传递一个std::string
,那么<<
将输出字符串中的每个字符。
如果我们传递一个 C 风格的字符串 ( char*
),那么<<
将输出每个字符,直到遇到的第一个 NUL 字符,但不包括。 请注意,对于格式错误的输入(不包含 NUL),这可能会导致未定义的行为,因为读取超出了数组的边界。
另一个(未格式化的)输出操作是write()
,它接受一个字符数组和一个长度。 这将准确输出指定的字符数,包括遇到的任何 NUL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.