Posted on 04-09-2009
Filed Under (技术) by waterlin

我在用 C++ 实现一个缓存文件的程序,即把很多远程传输过来的文件作为临时文件存到本地,当然,为了避免文件名的冲突,需要按照一定的规律来重新给这些文件取名称。如果是用 C++,可以有以下几种简单的方法取一个临时的文件名:

1) 用一个整数作为文件名,比如说从 00001 开始一直增加到 99999,再把整数转成字符串作为文件名。

这里要注意的是,如果是多线程程序,考虑到多线程的安全性,需要在取整数的时候,加一个锁,取完整数后,让整数加1,再解锁。

2) 如果是 Windows 平台,则可以考虑用系统的API,比如说 GetTempFileName 这个函数可以很好地完成任务,有兴趣的可以看看 MSDN 里有关这个函数的使用例子

3) 如果是 Unix/Linux 主机上,则可以使用函数 tmpfile 来完成任务。

© 2009, 浏忙大爆炸. All rights reserved.
除非注明,浏忙大爆炸文章均为原创,转载请以链接形式标明本文地址。

(0) Comments    (531) Views    Read More   
Post a Comment
Name:
Email:
Website:
Comments: