为什么“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.

相关内容