在C中找到活动用户目录的路径

时间:2018-06-29 11:12:50

标签: c# c windows

我正在编写一个C#程序,其中必须将一些文件写入临时文件夹。在此程序中,我从C项目中调用一个可执行文件,该文件也需要写入所述temp文件夹。在C#中,我可以简单地通过

找到它
Directory.GetTempPath();

但是在C中,我似乎找不到任何找到它的方法。我是否需要重写C程序以将路径作为参数?我真的不愿意这样做,因为我不太精通这种语言,并且仅能满足我当前的目的。

Windows中是否还有其他适合写入临时文件的静态位置?

2 个答案:

答案 0 :(得分:0)

我的建议是声明相对于系统变量的文件名,例如%temp%,然后在其中将您的文件创建为标准文件(也许使用某种模式,以便您可以在需要时将其删除),还有F* tempfile() library function,但我仅在Linux上使用过它,并且不知道它是否在Windows上运行(它会返回指向系统定义的临时文件的指针)

答案 1 :(得分:0)

Win32 API中有一个类似的函数GetTempPath-GetTempPathA MSDN link

您可以看到如何使用ReferenceSource实现大多数C#代码。对于GetTempPath()函数,它调用Win32 API directly.