这是我的问题:在 C 中,我创建了一个文件的副本(有一些更改)这是通过 fopen()、getchar 和 putchar 轻松完成的。 复制文件很好,输出文件本身就是我想要的。
我的问题是:我假设我会经常使用这个程序作为 sudo,然后生成的文件有另一个所有者(root)以及不同的权限(执行权消失)。
我的问题是:如何复制原文件的所有者和权限,然后写入新文件?
最佳答案
使用fstat(2) 系统调用获取有关所有者和权限的详细信息,以及fchmod(2) 和fchown(2) 系统调用来设置它们。请参阅 *BSD cp(1) 的 setfile 函数中的示例 source code .
关于c - 在 C 中复制文件后保留文件所有者和权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5486774/