是否没有复制文件的linux系统调用或glibc函数?

是否没有复制文件的linux系统调用或glibc函数?,linux,system-calls,glibc,Linux,System Calls,Glibc,对于复制文件,是否没有Linux系统调用?GNUC库中也没有函数?那么,如何基于Linux系统调用或GNU C库实现文件复制呢?谢谢 对于复制文件,是否没有Linux系统调用 不,一个是不必要的,如果它存在的话会适得其反。只需考虑复制操作中可能发生的所有错误情况,以及应该做出什么适当的响应 GNUC库中也没有函数 它是一个非常琐碎的函数,不可能有用,并且包含在C库中(在没有错误的情况下),并且非常复杂,在有错误的情况下不可能使它变得普遍有用。指定出现错误时应该发生什么最好留给应用程序,因为只有应

对于复制文件,是否没有Linux系统调用?GNUC库中也没有函数?那么,如何基于Linux系统调用或GNU C库实现文件复制呢?谢谢

对于复制文件,是否没有Linux系统调用

不,一个是不必要的,如果它存在的话会适得其反。只需考虑复制操作中可能发生的所有错误情况,以及应该做出什么适当的响应

GNUC库中也没有函数

它是一个非常琐碎的函数,不可能有用,并且包含在C库中(在没有错误的情况下),并且非常复杂,在有错误的情况下不可能使它变得普遍有用。指定出现错误时应该发生什么最好留给应用程序,因为只有应用程序知道真正应该发生什么

那么,如何基于Linux系统调用或GNU C库实现文件复制呢


通过
读取
写入
系统调用。

完全不需要研究。它是开源的。阅读“cp”source.IMO这是一个有效的问题,当然不是离题。这不是“要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题”。另外,@Employed_Russian给出的答案是对这个问题的一个很好的回答。
strlen()
甚至更琐碎,但它也包括在内。@smoku
strlen
远不是琐碎的(如果你想让它快的话)。就像hypotical
fcopy()
一样“琐碎”在“如果你想…”时中断。使这一点更加突出。