以下是在BCB中的做法。 6.9.10 操作临时文件 在应用程序运行期间的很多情况下,需要创建一些临时文件,当这些临时文件使用完毕后 或应用程序退出之前被删除。 通常临时文件是放在Wi n d o w s系统设置的临时目录中。通过Windows API 函数 G e t Te m p F i l e N a m e可以获取系统设置的临时目录,原型如下: DWORD GetTempPath( DWORD nBufferLength, // 保存临时目录名的字符串的长度 LPTSTR lpBuffer // 保存临时目录名的字符串地址 ) ; 通过Windows API函数G e t Te m p F i l e N a m e可以在指定的目录中创建一个临时文件,原型如下: UINT GetTempFileName( LPCTSTR lpPathName, // 保存临时目录名的字符串地址 LPCTSTR lpPrefixString, // 临时文件的文件名前缀 UINT uUnique, // 创建临时文件的文件名时使用的一个数字 LPTSTR lpTempFileName // 保存临时文件的文件名的字符串地址 ) ; 其中u U n i q u e如果为0,则在生成临时文件的文件名的时侯,也创建了该文
to lhj(努力加油): 用的是odbc,就用vc6的classwizard生成的数据库访问类 to NowCan(能量、激情、雨水、彩虹——雷雨云): 可是用户多的时候,这些tmp文件总共会达到GB的量级别,磁盘读取也变得非常慢,有没有优化的方法? to pinel(): 也有这个可能,不过如何优化呢? to Behard(现在改用BCB了): 我的程序不用直接操作临时文件,都是系统自己创建的我查过这儿的历史贴,也没有和这个主题相关的。没有人遇到过吗?
6.9.10 操作临时文件
在应用程序运行期间的很多情况下,需要创建一些临时文件,当这些临时文件使用完毕后
或应用程序退出之前被删除。
通常临时文件是放在Wi n d o w s系统设置的临时目录中。通过Windows API 函数
G e t Te m p F i l e N a m e可以获取系统设置的临时目录,原型如下:
DWORD GetTempPath(
DWORD nBufferLength, // 保存临时目录名的字符串的长度
LPTSTR lpBuffer // 保存临时目录名的字符串地址
) ;
通过Windows API函数G e t Te m p F i l e N a m e可以在指定的目录中创建一个临时文件,原型如下:
UINT GetTempFileName(
LPCTSTR lpPathName, // 保存临时目录名的字符串地址
LPCTSTR lpPrefixString, // 临时文件的文件名前缀
UINT uUnique, // 创建临时文件的文件名时使用的一个数字
LPTSTR lpTempFileName // 保存临时文件的文件名的字符串地址
) ;
其中u U n i q u e如果为0,则在生成临时文件的文件名的时侯,也创建了该文
用的是odbc,就用vc6的classwizard生成的数据库访问类
to NowCan(能量、激情、雨水、彩虹——雷雨云):
可是用户多的时候,这些tmp文件总共会达到GB的量级别,磁盘读取也变得非常慢,有没有优化的方法?
to pinel():
也有这个可能,不过如何优化呢?
to Behard(现在改用BCB了):
我的程序不用直接操作临时文件,都是系统自己创建的我查过这儿的历史贴,也没有和这个主题相关的。没有人遇到过吗?
而且每个接收buffer都是线程的执行函数中的局部变量。
在系统不忙时,这些tmp文件也就几个,而且一般都会被删掉。但是系统繁忙时就出现大量增加的情况,而且一时也删不掉。