換行對應的ascii碼值是10,回車符對應的ascii碼值是13,需要注意的是
使用者按下回車鍵時,對於不同的字元輸入函式,讀取的字元不同,下面上**
測試一:
int執行結果:main()
測試二:
int執行結果:main()
測試三:
int執行結果:main()
測試四:
int執行結果:main()
從上面的結果可以看出,雖然輸入都是「回車鍵」(注意是回車鍵不是回車符)但得到結果卻有差異,
需要注意的是:在windows系統中回車鍵被當做\r\n 的組合來使用,當我們從鍵盤輸入回車鍵時,windows系統會把回車鍵當做\r\n 來處理(只不過上面的四種字元輸入函式讀取的結果不同
)getchar——換行符'\n'(ascii值為10)
getch——回車符'\r' (ascii值為13)
getche——回車符'\r' (ascii值為13)
scanf——換行符'\n' (ascii值為10)
回車:使游標移到行首
換行:使游標移到下一行
下面再補充下檔案操作函式,從文字檔案(txt檔案)用fscanf_s讀取(前提條件:先建立乙個txt檔案按一下回車鍵,然後儲存)
char執行效果:ch;file *fp;
errno_t err;
err = fopen_s(&fp, "
e:\\ww.txt
", "r"
);fscanf_s(fp, "%c
", &ch, sizeof
(ch));
printf(
"%d\n
", ch);
從上面可以看出fscanf_s和scanf對回車鍵的讀取是相同的,都是得到的換行符'\n'(ascii值為10)
使用fgetc讀取
int執行結果:main()
return0;
}
從上面的結果可以看出fgetc和fscanf_s讀取的字元相同,都是讀取到的換行符'\n'(ascii值為10)
回車符與換行符的起源
計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒裡面,又有新的字元傳過來,那麼這個字元將丟失。於是,研製人員想了個辦法解決這個問題,就是在每行...
回車符與換行符的起源
計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒裡面,又有新的字元傳過來,那麼這個字元將丟失。於是,研製人員想了個辦法解決這個問題,就是在每行...
C 的換行符和回車符
winform 中 textbox 的 multiline屬性設定為 true 敲入幾個字元和幾個回車,然後儲存到資料庫,再從資料庫中讀取出來賦值給textbox,換行符丟失。將讀取出的字串中的 n 替換為 r n 解決問題。1 textbox 中換行符為 r n 2 windows 中的換行符 即...