gpt4 book ai didi

create() 覆盖我的文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:47:03 25 4
gpt4 key购买 nike

我用 creat 函数在 linux 上写下了一小段 C 代码。我用相同的文件名和相同的 mode 使用了它几次,每次它都用新的时间和权限覆盖我的文件,没有 EEXIST 错误。

 if (creat(name, mode) < 0)
{
printf("something went wrong with create! %s\n", strerror(errno));
exit(1);
}

问题是什么?

最佳答案

EEXIST 仅在 O_CREAT | 时返回O_EXCL 用于 open 的标志中。同时creat(2)确实暗示O_CREAT,它不暗示O_EXCL,只是O_CREAT | O_WRONLY | O_TRUNC.

您应该改用open

关于create() 覆盖我的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37555851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com