為什麼「creat」不叫「create」?

為什麼「creat」不叫「create」?

難道只是為了省去打一個字母的麻煩嗎?

我不認為 C 函數名稱當時僅限於五個字符,因為strcmpunlink可能同樣古老。

我希望參與其中的人能對此發表一些記錄,但我一直找不到。

這與問“肯·湯普森說‘我會把 create 拼寫成‘e’’時的意思是什麼。”因為這是一個不同的問題,有不同的答案。

答案1

LSP(第 28 頁):

是的,這個函數的名稱缺少一個「e」。 Unix 的創建者 Ken Thompson 曾開玩笑說,丟失的字母是他設計 Unix 時最大的遺憾。

你可能應該看看問題。

答案2

您可能已經看到了這一點,這並不是您問題的完整答案,但這裡有一些內容man 3 creat

RATIONALE
       The creat() function is redundant. Its services are also provided by the open() func‐
       tion. It has been included primarily for  historical  purposes  since  many  existing
       applications  depend on it. It is best considered a part of the C binding rather than
       a function that should be provided in other languages.

相關內容