簡體   English   中英

為什么選擇cin.get(char *,int,char t)和cin.getline(char *,int,char t)?

[英]Why cin.get(char *, int, char t) and cin.getline(char *, int, char t)?

文檔說cin.get(...)將終止字符(參數t)留在緩沖區中! 我想知道,與getline(...)相比,它會有用嗎?它將放棄終止符...順便說一句,假設我有char buf [256],如何將那個buf刷新到cout?

對於行,終止換行符被視為行的一部分,並且您通常在讀取行時希望將其刪除。 Convention已確定包含該行的結果字符串包含該換行符,因此,這就是getline丟棄它而不是存儲它的原因。 (其他語言/圖書館不作后一個決定。)

對於除行以外的其他內容,定界符可能不被視為正在提取的字段的一部分,因此您希望保留定界符並在以后讀取它。

假設我有char buf [256],如何沖洗該buf到cout?

如果那是C字符串(以\\ 0終止),則cout << buf;。 否則,您可以cout.write為無格式的字節序列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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