我正在使用C++在Xcode上开发一个控制台应用程序(命令行工具)。如何获取当前用户临时文件夹的路径。基本上,我想在用户临时文件夹中创建一个文本文件的MAC OS 10.8。
1hdlvixo1#
参见getenv(“TMPDIR”)如果它返回所需的路径。这是一个包含所有env变量的列表。https://developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man7/environ.7.html#//apple_ref/doc/man/7/environ您可以使用mktemp在临时目录https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/mktemp.3.html中创建文件
bqf10yzr2#
使用confstr()获取临时目录(系统在3天后删除未访问的文件)和该高速缓存目录(系统不会删除文件)。
% cat confstr.c #include <unistd.h> #include <stdio.h> #include <sys/syslimits.h> int main() { char buf[PATH_MAX]; size_t len = PATH_MAX; size_t s = confstr(_CS_DARWIN_USER_TEMP_DIR, buf, len); printf("_CS_DARWIN_USER_TEMP_DIR(len:%d): %s\n", (int)s, buf); s = confstr(_CS_DARWIN_USER_CACHE_DIR, buf, len); printf("_CS_DARWIN_USER_CACHE_DIR(len:%d): %s\n", (int)s, buf); return 0; } % cc confstr.c -o confstr % ./confstr _CS_DARWIN_USER_TEMP_DIR(len:50): /var/folders/hg/rprr5xfn1vsd17dbtzqttg640000gn/T/ _CS_DARWIN_USER_CACHE_DIR(len:50): /var/folders/hg/rprr5xfn1vsd17dbtzqttg640000gn/C/ % sudo ./confstr _CS_DARWIN_USER_TEMP_DIR(len:50): /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/ _CS_DARWIN_USER_CACHE_DIR(len:50): /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/C/
2条答案
按热度按时间1hdlvixo1#
参见getenv(“TMPDIR”)
如果它返回所需的路径。
这是一个包含所有env变量的列表。
https://developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man7/environ.7.html#//apple_ref/doc/man/7/environ
您可以使用mktemp在临时目录https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/mktemp.3.html中创建文件
bqf10yzr2#
使用confstr()获取临时目录(系统在3天后删除未访问的文件)和该高速缓存目录(系统不会删除文件)。