我很想知道,为什么gcc编译器在此代码编译时不会抛出错误或警告:
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
char c;
int in, out;
in = open("simpleOpen.c", O_RDONLY);
out = open("output.txt", O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR);
while (read(in, &c, 1) == 1)
write(out, &c,1);
exit(0);
}
如果S_IRUSR,S_IWUSR是sys / stat.h的一部分,为什么这不会被标记? 我没有在联机帮助页中看到权限设置为open,所以我很好奇如何设置权限...我应该使用sys / stat.h来设置权限,还是在fcntl.h中设置权限的能力?