Kar*_*a K 4 c operating-system file system-calls root
所以我创建了一个新文件:
fd = open("tester.txt", O_CREAT | O_RDWR);
Run Code Online (Sandbox Code Playgroud)
然后使用系统调用写我添加一些信息.但是当我尝试从文件中读取信息时,无法进行.使用我发现的终端,打开文件的唯一方法是使用sudo并成功编写内容.但是,我的程序不能是root.那么,如何打开文件,向其中写入一些内容并且不关闭C程序输出文件.
您缺少将文件模式指定为创建打开调用的第三个参数; 尝试以下方法:
fd = open("tester.txt", O_CREAT | O_RDWR, 0644);
Run Code Online (Sandbox Code Playgroud)
然后,应该使用模式创建文件-rw-r--r--,因此您自己的用户可以打开它进行读写.否则,它可能会以一些随机权限结束,即---------,只有root可以打开它进行读取(至少不进行chmodding).