[英]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.