0

源代码已经在 Fedora 15,16 和 Ubuntu 10,11,12 中测试过,没有问题。

但是在 Fedora 17 中,文件写入功能不起作用。

1)

int fd;
if ( 0 < ( fd = open("/home/test/temp/opentest.html", O_CREAT | O_EXCL, 0777))) {
    write(fd, "test", strlen("test"));
    close(fd);
    return "Success";
} else {
    return "Error";
}

返回值:错误

2)

FILE *pFile;
pFile = fopen("/home/test/temp/opentest.html", "w+");
if (pFile == NULL) {
    return "Pointer is NULL";
} else {
    fputs("fopen test", pFile);
    fclose(pFile);
    return "Success";
}

返回值:“指针为空”

我猜目录的权限会出错并设置 777 权限。但什么都没有改变。

相同的代码在普通的 C 程序中工作。

为什么它在 firebreath npPlugin 中不起作用?

许可有什么区别吗?

4

1 回答 1

0

最有可能的是,该目录不存在,或者您没有写入它的权限。

这个命令有用吗?
echo 123 > /home/test/temp/opentest.html

于 2012-06-20T09:21:19.897 回答