Tag: 临时文件

为什么我不能“freopen”一个“tmpfile”?

我试图编译并运行有以下几行的C代码: FILE *preproc_producer = NULL; preproc_producer = tmpfile(); // preproc_producer is not NULL here preproc_producer = freopen(NULL, "r+", preproc_producer); // preproc_producer is NULL here 但是,运行代码时, preproc_producer结束NULL ,错误代码是Stale NFS file handle 上述代码有什么问题? freopen调用的目的是什么? 我评论了freopen行,其余的程序似乎正在工作。 我正在使用GCC 4.7.2,在Docker 0.6.7 Linux容器中运行Ubuntu 64 12.04。 上面的代码似乎在Docker容器之外工作。 更新: strace dump: stat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, …}) = 0 gettimeofday({1385247432, 199732}, NULL) = 0 getpid() […]