C語言 r n和 n區別

2021-06-04 11:55:54 字數 995 閱讀 4350

今天與到乙個問題

wstrcat(szmaxmess, l"\r\n");

nbufuse += wstrlen(l"\r\n");

wstrcat(szmaxmess, l"\n");

nbufuse += wstrlen(l"\n");

計算機還沒有出現之前,有一種叫做電傳打字機(teletype model 33)的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒裡面,又有新的字元傳過來,那麼這個字元將丟失。 於是,研製人員想了個辦法解決這個問題,就是在每行後面加兩個表示結束的字元。乙個叫做「回車」,告訴打字機把列印頭定位在左邊界;另乙個叫做「換行」,告訴打字機把紙向下移一行。 這就是「換行」和「回車」的來歷,從它們的英語名字上也可以看出一二。       後來,計算機發明了,這兩個概念也就被般到了計算機上。那時,儲存器很貴,一些科學家認為在每行結尾加兩個字元太浪費了,加乙個就可以。於是,就出現了分歧。unix 系統裡,每行結尾只有「《換行》」,即「\n」;windows系統裡面,每行結尾是「《回車》《換行》」,即「 \r\n」;mac系統裡,每行結尾是「《回車》」。乙個直接後果是,unix/mac系統下的檔案在windows裡開啟的話,所有文字會變成一行;而windows裡的檔案在unix/mac下開啟的話,在每行的結尾可能會多出乙個^m符號。

tips: 

轉義字元 意義 ascii碼值(十進位制) \a 響鈴(bel) 007 \b 退格(bs) 008 \f 換頁(ff) 012 \n 換行(lf) 010 \r 回車(cr) 013 \t 水平製表(ht) 009 \v 垂直製表(vt) 011 \\ 反斜槓 092 \? 問號字元 063 \' 單引號字元 039 \" 雙引號字元 034 \0 空字元(null) 000 \ddd 任意字元 三位八進位制 \xhh 任意字元 二位十六進製制

C語言 r n和 n區別

關於 r和 n的小問題的思考 計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒裡面,又有新的字元傳過來,那麼這個字元將丟失。於是,研製人員想了...

1 C語言中 r n和 n區別?

r是回車符,n是換行符 計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒裡面,又有新的字元傳過來,那麼這個字元將丟失。於是,研製人員想了個辦法...

r n和 n的區別

r 是回車,return n 是換行,newline 我們在平時使用電腦時,已經習慣了回車和換行一次搞定,敲乙個回車鍵,即是回車,又是換行,但在早期的打字機上,要另起一行打字需要兩個步驟,首先要傳送命令 r 將打字頭復位,即回車,然後再傳送命令 n 讓打字機走紙移到下一行,所以這個歷史遺留問題導致了...