gpt4 book ai didi

创建并打开返回两个不同的 fd 描述符

转载 作者:太空宇宙 更新时间:2023-11-04 08:47:11 26 4
gpt4 key购买 nike

if((fd = creat(file_name,O_RDWR|S_IRWXU|S_IRWXG|S_IRWXO)) < 0){
perror("Create failed!");
return -1;
}
if((fd = open(file_name,O_CREAT | O_RDWR))< 0){
perror("Open failed!");
return -1;
}
write(fd,buff,100);

为什么creat和open的fd不同,因为它打开的是同一个文件。我想创建、打开和写入一个文件。

我不应该使用 open(filename,O_CREAT|modes);

最佳答案

creat 函数在创建文件后打开文件,因此根据您的描述,只需调用 creat() 即可满足您的需求。

为了回答您的问题,它为您提供了多个文件描述符,因为您已经执行了多次打开(创建是打开并创建)。您可以使用这两个描述符访问同一个文件(并且您在文件中的当前位置对于每个描述符可能不同)。

关于创建并打开返回两个不同的 fd 描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21307454/

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