我必须使用哪种gtk方法在Ubuntu中获取临时路径?

前端之家收集整理的这篇文章主要介绍了我必须使用哪种gtk方法在Ubuntu中获取临时路径?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在Ubuntu中获取临时目录路径?
在大多数类Unix系统上,你一直在寻找/ tmp.如果那不是您所追求的答案,那么您应该指定您正在谈论的Ubuntu.

某些应用程序将允许您指定其临时文件的放置位置(例如使用TMP,TEMP或TMPDIR环境变量)但是如果/ tmp不存在,很多东西会在UNIX下中断,因此使用它是安全的.如果你想让它可配置,在你的代码中,你可以在以下完整的程序中使用类似函数getTmpDir()的东西:

#include <stdio.h>
#include <stdlib.h>

const char *getTmpDir (void) {
    char *tmpdir;

    if ((tmpdir = getenv ("TEMP")) != NULL)   return tmpdir;
    if ((tmpdir = getenv ("TMP")) != NULL)    return tmpdir;
    if ((tmpdir = getenv ("TMPDIR")) != NULL) return tmpdir;

    return "/tmp";
}

int main(void) {
    const char *xyzzy = getTmpDir();
    printf ("Temporary directory =  %s\n",xyzzy);
    return 0;
}

哪个输出,在我的CygWin环境中(我将TEMP和TMP都设置为此值):

Temporary directory =  /cygdrive/c/Users/Pax/AppData/Local/Temp

这几乎就是GLib g_get_tmp_dir()调用功能,尽管可能采用不同的顺序.

当然,如果您想使用特定于应用程序的环境变量,您可以将其放在其他环境变量之前:

const char *getTmpDir (void) {
    char *tmpdir;

    if ((tmpdir = getenv ("XYZZY_TMP")) != NULL)   return tmpdir;
    if ((tmpdir = getenv ("TEMP")) != NULL)        return tmpdir;
    if ((tmpdir = getenv ("TMP")) != NULL)         return tmpdir;
    if ((tmpdir = getenv ("TMPDIR")) != NULL)      return tmpdir;

    return "/tmp";
}

甚至可以取出一些或所有“标准”的.但是如果用户没有配置任何东西,你几乎应该总是回到/ tmp.

原文链接:https://www.f2er.com/ubuntu/349189.html

猜你在找的Ubuntu相关文章