首頁 後端開發 php教程 r n的研究解决方法

r n的研究解决方法

Jun 13, 2016 pm 01:48 PM
enter quot return windows

\r \n的研究
因为在学习php,所以就发在这个区了。之所以这样写这个帖子,除了人云亦云外,还有高手没说明白,新手看不明白。
我就抛砖引玉了,因为我说还不一定正确。
\r \n所代表的含义是回车和换行,在一些情况下\r \n的效果是一样的,而回车和换行的意思大多数情况下也被认为是一样的,既然这样,何谈区别?
那么我们来了解他们的出处和本质含义。
出处是打印机
\r 含义 回车 英文全称carriage return,简称CR return是回的意思,carriage是车的意思,在打印机中,指(打字机等机器上的)滑动托架,很明显大家见过打印机就知道那个“车”只能左右移动,不能上下移动,那么回车的意思就是一行结束后回到初始位置。可是在电脑上很难描述了,用向左的方向键←移动到行最前端,就是这样效果。
\n 含义换行 英文全称 new line 或者line feed,feed这里是给,加的意思,在打印机中指再添加一行,因为carriage只能左右移动,那换行只能是打印纸来移动,相当于方向键↓的效果。

大家现在明白了吧,现在意义上的回车和换行还有键盘上的Enter其实是\r\n的效果(一下的回车换行均指\r\n的效果)。

可是在使用应该是有回车必有换行的,那么把效果统一起来的也是预料之中的事情,只是表达方式不一样而已,所以才有mac用\r,unix用\n,windows用\r\n
事实在windows记事本里这三种表达方式和用键盘回车键的效果是一样的,大约是windows已经自动转成\r\n了,但是用\n\r(颠倒顺序)\r \n(中间有空格)那么是起到了两次效果,但这不是绝对的,比如在unix看起来回车换行效果正常的文件放到windows记事本里就没有效果 但是会有小黑框,这个文件我用Dreamweaver打开是正常的。

另外据说\n还有含义指一个行的结束。其实和前面说的没区别嘛,这也许是Unix用它代表回车换行的原因。
还有软回车 硬回车的问题,这个在不同平台编软件可能会遇到,前面指\n 后者指\r\n。但我没经验去说是正确与否,但在Word中shift+enter软回车就是回车换行^l,enter硬回车是换段落^p,这个问题在网页设计中也会遇到。

------解决方案--------------------
windows \r\n
linux \n
mac \r

这是操作系统的约定,也可以说是历史遗留问题
知道了就可以,没有必要讨论
------解决方案--------------------

探讨
windows \r\n
linux \n
mac \r

这是操作系统的约定,也可以说是历史遗留问题
知道了就可以,没有必要讨论

------解决方案--------------------
好帖,实在的做点研究就是好的。
话说win系统下有个一溢出漏洞就是因为此类控制字引起的。

出发代码好像是这样的:

int main( void )

    { 

    for(;{
         printf( "hung up\t\t\b\b\b\b\b\b" );

         print("hung up\t\t\b\b\b\b\b\b";

        }

    return 0;

    }

忽略了退格前有制表符的情况导致内存越界覆盖。
------解决方案--------------------
探讨
windows \r\n
linux \n
mac \r

这是操作系统的约定,也可以说是历史遗留问题
知道了就可以,没有必要讨论
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

可以在 Windows 7 上安裝 mysql 嗎 可以在 Windows 7 上安裝 mysql 嗎 Apr 08, 2025 pm 03:21 PM

是的,可以在 Windows 7 上安裝 MySQL,雖然微軟已停止支持 Windows 7,但 MySQL 仍兼容它。不過,安裝過程中需要注意以下幾點:下載適用於 Windows 的 MySQL 安裝程序。選擇合適的 MySQL 版本(社區版或企業版)。安裝過程中選擇適當的安裝目錄和字符集。設置 root 用戶密碼,並妥善保管。連接數據庫進行測試。注意 Windows 7 上的兼容性問題和安全性問題,建議升級到受支持的操作系統。

mysql 無法連接到本地主機怎麼解決 mysql 無法連接到本地主機怎麼解決 Apr 08, 2025 pm 02:24 PM

無法連接 MySQL 可能是由於以下原因:MySQL 服務未啟動、防火牆攔截連接、端口號錯誤、用戶名或密碼錯誤、my.cnf 中的監聽地址配置不當等。排查步驟包括:1. 檢查 MySQL 服務是否正在運行;2. 調整防火牆設置以允許 MySQL 監聽 3306 端口;3. 確認端口號與實際端口號一致;4. 檢查用戶名和密碼是否正確;5. 確保 my.cnf 中的 bind-address 設置正確。

mySQL下載完安裝不了 mySQL下載完安裝不了 Apr 08, 2025 am 11:24 AM

MySQL安裝失敗的原因主要有:1.權限問題,需以管理員身份運行或使用sudo命令;2.依賴項缺失,需安裝相關開發包;3.端口衝突,需關閉佔用3306端口的程序或修改配置文件;4.安裝包損壞,需重新下載並驗證完整性;5.環境變量配置錯誤,需根據操作系統正確配置環境變量。解決這些問題,仔細檢查每個步驟,就能順利安裝MySQL。

MySQL安裝在特定係統版本上報錯的解決途徑 MySQL安裝在特定係統版本上報錯的解決途徑 Apr 08, 2025 am 11:54 AM

MySQL安裝報錯的解決方法是:1.仔細檢查系統環境,確保滿足MySQL的依賴庫要求,不同操作系統和版本需求不同;2.認真閱讀報錯信息,根據提示(例如缺少庫文件或權限不足)採取對應措施,例如安裝依賴或使用sudo命令;3.必要時,可嘗試源碼安裝並仔細檢查編譯日誌,但這需要一定的Linux知識和經驗。最終解決問題的關鍵在於仔細檢查系統環境和報錯信息,並參考官方文檔。

無法從終端訪問 mysql 無法從終端訪問 mysql Apr 08, 2025 pm 04:57 PM

無法從終端訪問 MySQL 可能是由於:MySQL 服務未運行;連接命令錯誤;權限不足;防火牆阻止連接;MySQL 配置文件錯誤。

mysql怎麼複製粘貼 mysql怎麼複製粘貼 Apr 08, 2025 pm 07:18 PM

MySQL 中的複制粘貼包含以下步驟:選擇數據,使用 Ctrl C(Windows)或 Cmd C(Mac)複製;在目標位置右鍵單擊,選擇“粘貼”或使用 Ctrl V(Windows)或 Cmd V(Mac);複製的數據將插入到目標位置,或替換現有數據(取決於目標位置是否已存在數據)。

vs code 可以在 Windows 8 中運行嗎 vs code 可以在 Windows 8 中運行嗎 Apr 15, 2025 pm 07:24 PM

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

MySQL安裝後服務無法啟動的解決辦法 MySQL安裝後服務無法啟動的解決辦法 Apr 08, 2025 am 11:18 AM

MySQL拒啟動?別慌,咱來排查!很多朋友安裝完MySQL後,發現服務死活啟動不了,心裡那個急啊!別急,這篇文章帶你從容應對,揪出幕後黑手!讀完後,你不僅能解決這個問題,還能提升對MySQL服務的理解,以及排查問題的思路,成為一名更強大的數據庫管理員! MySQL服務啟動失敗,原因五花八門,從簡單的配置錯誤到復雜的系統問題都有可能。咱們先從最常見的幾個方面入手。基礎知識:服務啟動流程簡述MySQL服務啟動,簡單來說,就是操作系統加載MySQL相關的文件,然後啟動MySQL守護進程。這其中涉及到配置

See all articles