为什么我不能在Ubuntu中打开我的txt文件?

时间:2013-10-19 05:18:26

标签: c file-io fopen

我使用c套接字程序创建了一个txt文件(名为“output.txt”)。它已被创建,但我没有权限打开该txt文件。当我执行我的程序2天后,我可以打开output.txt文件。为什么我现在不能打开它?

我的output.txt文件的权限是

-r----x--t 1 root root 12288 Oct 19 10:24 output.txt

创建代码:

  new_sockfd = accept(sockfd,(struct sockaddr *)&client_address, &client_len);
     if (new_sockfd==-1) { perror("Connection Not Accepted!!"); return(1);}
     else 
         {
           printf("client is connected\n");
           log=open("output.txt",O_CREAT|O_RDWR|O_APPEND,777);

           do
              { 
                x1=read(new_sockfd, buffer1, 1024);
                x2=write(log,buffer1,x1);
              }
           while (x1>0);
           close(log);   
         }

      close(new_sockfd);  

2 个答案:

答案 0 :(得分:2)

  

777

那是小数。将其更改为0777(八进制)。

答案 1 :(得分:1)

看起来你已经在root下创建了文件,但是尝试在普通用户帐户下读取,chmod到root下的0666

这是因为你在开放功能中有不正确的标志,你将它们设置为0777或0666,0是必须的