获取系统临时文件与目录

447次阅读

今天遇到了一个奇怪的问题,

在测试那里无法通过adb pull 命令将配置文件写入到手机,检查发现连本地文件都没有生成,

通过一系列的检查后发现是,在C盘下程序安装目录权限都比较高,程序没法新建文件,

解决办法是使用临时文件作为中转站

用到了以下函数:

wchar_t tempFileName[MAX_PATH] = { 0 };
wchar_t sysTempPath[MAX_PATH + 1] = { 0 };
GetTempPath(MAX_PATH, sysTempPath);
GetTempFileName(sysTempPath, L"DPC", 0, tempFileName);

GetTempPath

DWORD WINAPI GetTempPath(
_In_ DWORD nBufferLength, //字符串缓冲区的大小由lpBuffer标识,在TCHARs中。
_Out_ LPTSTR lpBuffer //指向字符串缓冲区的指针,它接收指定临时文件路径的以空字符结尾的字符串。 返回的字符串以反斜杠结尾,例如“C:\ TEMP \”。
);

用于获取为临时文件指定的路径。

GetTempFileName

UINT WINAPI GetTempFileName(
_In_ LPCTSTR lpPathName,
_In_ LPCTSTR lpPrefixString,
_In_ UINT uUnique,
_Out_ LPTSTR lpTempFileName
);

创建临时文件的名称。 如果生成了唯一的文件名,则会创建一个空文件,并释放其句柄; 否则,仅生成文件名

yiywain
版权声明:本站原创文章,由 yiywain 2021-06-02发表,共计643字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。