日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 文件写 n r,文本模式读写文件中\r和\n的问题

發布時間:2025/3/19 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 文件写 n r,文本模式读写文件中\r和\n的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DOS文件(windows格式文件)中,按一下ENTER就是輸入了\r\n,這就是回車換行

MAC文件里,用\r換行

UNIX文件里,用\n換行

自己嘗試了一些\r \n的組合,歸納了下規律:

windows下用文本方式寫文件時

緩沖區里的\n或者\r都會被自動替換為\r\n寫入文件,即使是連著的\r\n,也會被替換成\r\n\r\n(但是msdn上面只說\r被替換為\r\n,我的前面一篇博文里有原文)

windows下用文本方式讀文件時

文件中的\r\n自動替換為\n存放到緩沖區里(這點和msdn是符合的,前面的博文里有原文)

\r不會被替換

假設要讀取的文件流長度小于緩沖區長度

如果用fread文本模式讀文件,\r\n被替換為\n讀進緩存區里

如果是fgets文本模式讀文件,碰到第一個\n(這里的\r和\n都是指經過轉換后讀入緩沖區的,即\r\n被替換為\n)后停止讀取,緩存區里存放的是\n之前的字符串(包括這個\n以及之前所有的\r)

fread和fwrite的返回值問題

文本模式寫文件時,\n或\r自動替換成\r\n,但是fwrite的返回值里還是算寫了一個字符(和msdn符合,前面一篇博文有原文)

文本模式讀文件時,\r\n被自動替換為\n,但是也算是讀了一個字符(和msdn的不一樣,msdn是說算讀了2個,前面的博文里有原文)

如果用UltraEdit打開文本文件有時候會碰到詢問你是否要轉換為DOS文件,其實就是回車換行符的問題了。做了如下表的嘗試,但是規律不太好總結啊。

要寫入的字符

實際寫入的字符(即\n被替換為\r\n后)

Ultraedit轉換為DOS格式后的文件內的實際字符

\r

\r

\r\n

\n

\r\n

未提示轉換為DOS文件

\r\n

\r\r\n

\r\n

\n\r

\r\n\r

未提示轉換為DOS文件

\n\r\n

\r\n\r\r\n

\r\n\r\n

\n\r\n\r

\r\n\r\r\n\r

\r\n\r\n

\n\r\n\n\r

\r\n\r\r\n\r\n\r

\r\n\r\n\r\n\r\n

\r\r\n\n

\r\r\r\n\r\n

\r\n\r\n\r\n

\r\r\r\n\r\n

\r\r\r\r\n\r\r\n

\r\n\r\n\r\n\r\n

\n\r\r

\r\n\r\r

\r\n\r\n\r\n

\n\r\r\r\r

\r\n\r\r\r\r

\r\n\r\n\r\n\r\n\r\n

總結

以上是生活随笔為你收集整理的oracle 文件写 n r,文本模式读写文件中\r和\n的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。