換行和回車(草稿)

2021-07-25 03:41:42 字數 2297 閱讀 8550

本篇主要介紹換行和回車,以及在c語言中的應用。

getchar值獲得』\n』;getch()只獲得』\r』.

「\r\n」 = enter

「\r」 = enter

「\n」 = enter

(depending on your os)

程式設計中,以防程式執行一閃即失,總是要在最後來乙個「getch();」

getch()和getche()需要」conio.h」

附: getch 從鍵盤無回顯地讀一字元

呼叫格式 #include」stdio.h」

int getch(void);

原型在 conio.h

說明 getch從鍵盤直接讀乙個字元,不回顯到螢幕上。

返回值 getch返回從鍵盤所讀的字元。

可移植性 getch只適用於dos

getchar 從stdin流中取字元

呼叫格式 #include」conio.h」

int getchar(void);

原型在 stdio.h

說明 getchar是乙個巨集,用於返回指定的stdin輸入流的下乙個字元, 它定義為getc(stdin)。

返回值 呼叫成功時,getchar返回所讀的字元,它已被轉換為無符號擴充套件的整形值。在遇到檔案結束或出錯時,

返回eof。

可移植性 getchar適用於unix系統,在ansi c中定義,與kernighan和ritchie的定義相容

實測,getch不回顯,getche回顯,這兩個函式用於從控制台(黑視窗)讀取輸入的字元,不是標準的c語法,但一般windows,linux/unix都可以用。按enter鍵得到的字元是』\r』;

getchar是標準c的函式,得到』\n』

是stdio.h中的庫函式,它的作用是從stdin流中讀入乙個字元,也就是說 ,如果stdin有資料的話不用輸入就可以直接讀取了。而getch()和getche()是conio.h中的庫函式,它的作用是從鍵盤接收字元。

鍵盤輸入的字元,需要通過按enter鍵重新整理到標準輸入流,這也就是為什麼,用getchar必須先按enter鍵才能讀取字元。

不同計算機上c語言統一規定為:

文字檔案的行結束符一律變成乙個符號lf,也就是換行符,也就是new line符, 也就是』\n』.

文字檔案的行結束符,傳統上

pc機 用 crlf

蘋果機用cr

unix 用 lf

cr – 回車符,c語言』\r』

lf – 換行符, c語言』\n』

不同計算機上c語言統一規定為:

文字檔案的行結束符一律變成乙個符號lf,也就是換行符,也就是new line符, 也就是』\n』.

「回車和換行符轉換成乙個換行符」– 對pc機而言,文字檔案行結束符,crlf讀入後,丟掉cr,留 lf.

例如fgets() 讀入一行,行尾只有lf,沒有cr.

在解析文字或其他格式的檔案內容時,常常要碰到判定回車換行的地方,這個時候就要注意既要判定」\r\n」又要判定」\n」。寫程式時可能得到一行,將其進行trim掉』\r』,這樣能得到你所需要的string了。

『\n』 10 換行(newline)

『\r』 13 回車(return)

在unix/linux平台下

「文字」與「二進位制」模式沒有區別。

資料有字元型和非字元型(數)兩種。按文字方式寫檔案指的是將資料轉換為對應的字元型資料之後再寫入檔案。對於字元型資料,由於其本身就是ascii碼字元,一般不必轉換,直接寫入檔案。但是,由於不同的系統對於換行符(』/n』)有不同的處理**換)方式,在有的系統(如windows)下也會對 『/n』 作適當的轉換。

windows平台下,c語言寫換行到檔案,會寫』\r\n』到檔案,因此在;c語言讀檔案,如果到』\r\n』會忽略掉』\r』只返回』\n』表示遇到了換行。因此在c語言看來,』\n』就表示換行。

二進位制方式開啟和文字方式開啟唯一的區別也就在對換行符的處理上,以二進位制方式開啟寫什麼就是什麼,讀什麼就是什麼;以文字方式開啟,寫』\n』相當於寫』\r\n』;獨到』\r\n』相當於讀』\n』。

二進位制讀寫是將記憶體裡面的資料直接讀寫入文字中,而文字呢,則是將資料先轉換成了字串,再寫入到文字中。

二進位制讀寫就用fwrite和fread,想讀多少自己就讀多少位元組,完全按照程式設計師的意願;文字讀寫,可用fscanf和fprintf,這兩個函式會把拿到的二進位製流每8個二進位制位看出乙個ascii碼,並進行處理 。

1.cnblog 回車符和換行符區別:

回車和換行

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

回車和換行

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

回車和換行

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