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