回車符和換行符區別

2021-10-08 04:15:22 字數 971 閱讀 7253

在計算機還沒有出現之前,有一種叫做電傳打字機(teletype model 33)的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒裡面,又有新的字元傳過來,那麼這個字元將丟失。於是,研製人員想了個辦法解決這個問題,就是在每行後面加兩個表示結束的字元。乙個叫做「回車」,告訴打字機把列印頭定位在左邊界;另乙個叫做「換行」,告訴打字機把紙向下移一行。這就是「換行(line feed,』\n』)」和「回車」(carriage return,』\r』)的來歷,從它們的英語名字上也可以看出一二。

後隨著計算機的發明,這兩個概念也就被般到了計算機上。當時儲存器十分昂貴,一些科學家認為在每行結尾加兩個字元太浪費,加乙個就可以。分歧如下

while

((ch =

fgetc

(in))!=

eof)

只要在unix檔案**現的』\n』的之前加入乙個』\r』字元就可以了

從windows到unix的情況複雜點,不能只是把從檔案中讀出的』\r』去掉就可以了。因為windows檔案中的文字行的末尾有時會內嵌乙個回車符號,這種情況在擊打式印表機**現。所以在轉換前要判斷』\r』是否和』\n』同時出現。如果同時出現,則去掉』\r』,如果沒有同時出現,保留』\n』。

cr_flag =0;

/* no cr encountered yet */

while

((ch =

fgetc

(in))!=

eof)if(

!(cr_flag =

(ch ==

'\r'))

)putchar

(ch)

;}

回車符和換行符區別

首先介紹一下 回車 carriage return,r 和 換行 line feed,n 這兩個概念的來歷和區別。在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個...

回車符和換行符區別

回車 carriage return,r 和 換行 line feed,n 這兩個概念的來歷在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒...

換行符 n 和回車符 r

換行符 n 和回車符 r 顧名思義,換行符就是另起一行,回車符就是回到一行的開頭,所以我們平時編寫檔案的回車符應該確切來說叫做回車換行符 n 10 換行 newline r 13 回車 return 也可以表示為 x0a 和 x0d 16進製制 在windows系統下,回車換行符號是 r n 但是在...