这两天由于修改python解释器的需求,需要用到tmpfile()来生成临时文件的FILE*,但是又担心这个临时文件是否存在于磁盘的某个地方,终究会被人找到,所以就简单做了以下几点实验,看看是否可以找到tmpfile临时文件的路径。
一、实验一:跟踪调试
写了一小段简单的tmpfile调用,然后跟踪调试,在tmpfile_s内部也没能发现这个临时文件的路径,当然,通过stream-%26gt;_tmpfname,可以看到一个临时文件的名称,但是看不到路径;根据这个名称到WINDOWS\TEMP(或者C:\Users\xxx\AppData\Local\Temp)路径下去查找,也没有找到类似名称的文件。
void TesttempfileFunc() { FILE *stream; char tempstring[] = "String to be written"; // Create temporary files. for(int i = 1; i %26lt;= 3; i++ ) { errno_t err = tmpfile_s(%26amp;stream); fwrite(tempstring, 1, strlen(tempstring), stream); if( err ) perror( "Could not open new temporary file\n" ); else printf( "Temporary file %d was created\n", i ); } // Remove temporary files. printf( "%d temporary files deleted\n", _rmtmp() ); }
二、实验二,通过api提取FILE*的路径
是否可以通过FILE*,然后通过某种API的调用,找到对应的文件名称,bing搜了一把,有一篇类似的文章(通过文件句柄获得文件路径htt