当前位置: 技术问答>linux和unix
open 只带 O_WRONLY模式行为是未定的吗?
来源: 互联网 发布时间:2017-01-01
本文导语: 原来的文件是20个字节AAAAAAAAAAAAAAAAAAAA 现在write 4个字节BBBB结果是? | 試了一下,結果是“BBBBAAAAAAAAAAAAAAAA”,看來是覆蓋的。 real@ubuntu:~$ ./a.out AAAAAAAAAAAAAAAAAAAA BBBBAAAAAAAAAAAAAAAA real@ubuntu:~$ ca...
原来的文件是20个字节AAAAAAAAAAAAAAAAAAAA
现在write 4个字节BBBB结果是?
现在write 4个字节BBBB结果是?
|
試了一下,結果是“BBBBAAAAAAAAAAAAAAAA”,看來是覆蓋的。
real@ubuntu:~$ ./a.out
AAAAAAAAAAAAAAAAAAAA
BBBBAAAAAAAAAAAAAAAA
real@ubuntu:~$ cat test.c
#include
#include
#include
#include
int main(void)
{
int fd;
system("cat data");
fd=open("data",O_WRONLY);
write(fd,"BBBB",4);
close(fd);
system("cat data");
return 0;
}
|
另外,O_WRONLY是flag,不是mode。
|
如果没有其他选项,那应该是覆盖,现在只有4个字节
|
我搞错了,应该还是20字节
与fopen()的w模式不一样
与fopen()的w模式不一样
|
看你打开的时候是追加还是覆盖。。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。