C++编码时给缓存文件命名的方法
文章目录
我在用 C++ 实现一个缓存文件的程序,即把很多远程传输过来的文件作为临时文件存到本地,当然,为了避免文件名的冲突,需要按照一定的规律来重新给这些文件取名称。如果是用 C++,可以有以下几种简单的方法取一个临时的文件名:
- 用一个整数作为文件名,比如说从 00001 开始一直增加到 99999,再把整数转成字符串作为文件名。
这里要注意的是,如果是多线程程序,考虑到多线程的安全性,需要在取整数的时候,加一个锁,取完整数后,让整数加1,再解锁。
-
如果是 Windows 平台,则可以考虑用系统的API,比如说 GetTempFileName 这个函数可以很好地完成任务,有兴趣的可以看看 MSDN 里有关这个函数的使用例子。
-
如果是 Unix/Linux 主机上,则可以使用函数 tmpfile 来完成任务。
文章作者 cookwhy
上次更新 2009-09-04