簡體   English   中英

如果在字符數組中遇到空字符(位於數組中間),c++ 的 cout 函數是否會停止打印

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM