Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用open()创建文件,但没有在C中修改该文件的权限_C_File Permissions - Fatal编程技术网

使用open()创建文件,但没有在C中修改该文件的权限

使用open()创建文件,但没有在C中修改该文件的权限,c,file-permissions,C,File Permissions,我正在用C语言创建一个文本文件 fd = open("results.txt",O_CREAT|O_RDWR,S_IROTH); if (fd<0){ perror("open error"); abort(); } write(fd,msg,strlen(msg)+1); fd=open(“results.txt”,O|u CREAT | O|u RDWR,S|u IROTH); 如果(fd使用fd=open(“results.t

我正在用C语言创建一个文本文件

fd = open("results.txt",O_CREAT|O_RDWR,S_IROTH);
    if (fd<0){
        perror("open error");
        abort();
    }
    write(fd,msg,strlen(msg)+1);
fd=open(“results.txt”,O|u CREAT | O|u RDWR,S|u IROTH);
如果(fd使用
fd=open(“results.txt”,O|u CREAT | O_RDWR,0777);

而不是

fd = open("results.txt",O_CREAT|O_RDWR,S_IROTH);
使用
fd=open(“results.txt”,O|u CREAT|O|u RDWR,0777);

而不是

fd = open("results.txt",O_CREAT|O_RDWR,S_IROTH);
使用
fd=open(“results.txt”,O|u CREAT|O|u RDWR,0777);

而不是

fd = open("results.txt",O_CREAT|O_RDWR,S_IROTH);
使用
fd=open(“results.txt”,O|u CREAT|O|u RDWR,0777);

而不是

fd = open("results.txt",O_CREAT|O_RDWR,S_IROTH);

标志中应该有问题,因为您正在创建文件,您正在使用标志 O_CREAT O_创造 所以现在您需要指定访问模式,如手册页中所述 S_IROTH S_IROTH 所以你让它只为其他人读。所以当你再次打开它时,你就不能写了。 因此,您还应该定义写入模式,以及为用户读取等。 S_IRUSR | S_IROTH | S_IWUSR S|u IRUSR | S|IROTH | S|u IWUSR
有关详细信息,请参阅手册页。

标志中应该有问题,因为您正在创建文件,正在使用标志 O_CREAT O_创造 所以现在您需要指定访问模式,如手册页中所述 S_IROTH S_IROTH 所以你让它只为其他人读。所以当你再次打开它时,你就不能写了。 因此,您还应该定义写入模式,以及为用户读取等。 S_IRUSR | S_IROTH | S_IWUSR S|u IRUSR | S|IROTH | S|u IWUSR
有关详细信息,请参阅手册页。

标志中应该有问题,因为您正在创建文件,正在使用标志 O_CREAT O_创造 所以现在您需要指定访问模式,如手册页中所述 S_IROTH S_IROTH 所以你让它只为其他人读。所以当你再次打开它时,你就不能写了。 因此,您还应该定义写入模式,以及为用户读取等。 S_IRUSR | S_IROTH | S_IWUSR S|u IRUSR | S|IROTH | S|u IWUSR
有关详细信息,请参阅手册页。

标志中应该有问题,因为您正在创建文件,正在使用标志 O_CREAT O_创造 所以现在您需要指定访问模式,如手册页中所述 S_IROTH S_IROTH 所以你让它只为其他人读。所以当你再次打开它时,你就不能写了。 因此,您还应该定义写入模式,以及为用户读取等。 S_IRUSR | S_IROTH | S_IWUSR S|u IRUSR | S|IROTH | S|u IWUSR
有关详细信息,请参阅手册页。

您能否显示
err\u sys
的实现情况?是否有可能
open
失败,但您没有记录此操作或退出程序?@simonc我刚刚更新了我的问题。您能否显示
err\u sys
的实现情况?是否有可能
open
失败,但您没有记录此操作或退出退出你的程序?@simonc我刚刚更新了我的问题你能展示你的
err\u sys
实现吗?有没有可能
open
失败,但你没有记录这一点或退出你的程序?@simonc我刚刚更新了我的问题你能展示你的
err\u sys
实现吗?有没有可能
open
失败但你没有记录这个或退出你的程序吗?@simonc我刚刚更新了我的问题是0777 S_IROTH的int值或类似的东西?检查你的头文件中,它应该是S_IRWXOIs 0777 S_IROTH的int值或类似的东西?检查你的头文件中,它应该是S_IRWXOIs 0777 S_IROTH的int值或类似的东西检查你的头文件,它应该是S_IRWXO 0777,S_IROTH的int值或者类似的东西?检查你的头文件,它应该是S_IRWXO