新人求问:linux C 中的creat函数,如果已经有相同名字的文件。…
linux吧
全部回复
仅看楼主
level 3
laiyinan1234 楼主
如果已经有相同名字的文件,我想先判断有木有,然后有的话覆盖,产生一个新文件
怎么写代码?或者就告诉我用什么函数判断
谢谢
2012年08月31日 04点08分 1
level 5
int creat(const char * pathname, mode_t mode);
这个是函数原型,你可以man 一下create。看看他的第二个参数。他会告诉你在man open里面可以查阅到这些标志位的值。
比如想要写入一个文件。但是不知道这个文件存不存在,如果存在的话就覆盖他,如果不存在就创建他。现在我们假定umask是022,我需要的权限是644.那么我可以这么写代码:
create("filename",O_CREATE | O_REWR | O_TRUCN | 666);
就是说,创建一个叫做filename 的文件,假如不存在就创建他,存在就覆盖他,把它设置成可读写的文件,文件的访问权限是666.666-umask 就会得到 644 就是--wrx-rx-r的权限
2012年08月31日 05点08分 2
神!谢! 正在研究。。。
2012年08月31日 05点08分
1