1

以下は私のコードです:

#include <iostream> 
#include <fcntl.h>
#include <unistd.h>
using namespace std; 

int main()
{

int filedesc = open("testfile.txt", O_RDWR | (O_APPEND |O_CREAT) ,S_IRWXO);

    if (filedesc < 0) {
    cout<<"unable to open file";
        return -1;
    }

    if (write(filedesc, "This will be output to testfile.txt", 36) != -1) {
        cout<<"writing";
        close( filedesc );
    }

    return 0;
return 0;

}

2回目以降も同じように実行すると、o/pは「ファイルを開くことができません」です。私は何か間違ったことをしていますか?

4

1 に答える 1

5

これは許可の問題です

変更してみてください

S_IRWXO 

 S_IRWXU

それはうまくいくでしょう

S_IRWXO

他の人による読み取り、書き込み、実行/検索

参照http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstat.h.html

于 2012-10-05T06:55:33.110 に答える