[問題] fopen()和open()在linux上的差別?

看板C_and_CPP (C/C++)作者 (灰塵)時間15年前 (2010/10/02 16:41), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
以前看過一本書的說法是fopen()有緩衝處理,open()沒有 除此之外就是fopen()有文字模式但open()只有二進位 (當然在linux上就沒差了) 撇開open()還有一些開檔時的特殊參數以外, 在linux上open()和fopen()真的有差嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.89.61

10/02 17:19, , 1F
open(2)是system call相當於Windows API內的CreateFile()
10/02 17:19, 1F

10/02 17:20, , 2F
都是OS提供的介面,與平台相依。fopen是C語言標準規定
10/02 17:20, 2F

10/02 17:20, , 3F
有相當程度的可攜性,底層也是用open去跑,功能較簡單
10/02 17:20, 3F

10/02 17:27, , 4F
文字模式跟二進位模式....linux 本來就沒在分的。
10/02 17:27, 4F
文章代碼(AID): #1Cfl15Dp (C_and_CPP)
文章代碼(AID): #1Cfl15Dp (C_and_CPP)