gpt4 book ai didi

c - 写系统调用

转载 作者:行者123 更新时间:2023-12-04 10:59:58 25 4
gpt4 key购买 nike

我正在用 LINUX 编写这个程序

#include <fcntl.h>
int main()
{

int rd,id;
char buff[10]={0};

id = open("p_child.c",O_RDONLY|O_APPEND|O_WRONLY);
if(id>1)
{
printf("I am file descriptor %d \n",id);

rd = read(id,buff,8);
printf("I am Reading file %s",buff);

write(1,"New\n",4);
printf("\nI am Writing file %s \n",buff);

}
}

它的输出就像在 READ 系统调用之前打印“New”。为什么会这样??因为写系统调用是在读系统调用的“printf”之后使用的。

最佳答案

这是因为在您写出换行符之前,输出会被缓冲。

关于c - 写系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22928047/

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