如何在用户的主文件夹中打开文件

时间:2010-05-27 19:29:27

标签: c++ linux

我想在linux上的用户主目录中放置一种锁文件(来自c ++)但是fopen'ing~ / .fluudit似乎不起作用。

fopen("~/.fluudit","w");   //fails

2 个答案:

答案 0 :(得分:10)

您可以使用环境变量HOME,如果不存在,您可以使用密码数据库:

#include <unistd.h>
#include <sys/types.h>
#include <pwd.h>

struct passwd *pw = getpwuid(getuid());

const char *homedir = pw->pw_dir;

答案 1 :(得分:4)

~扩展为getenv("HOME")称为通配,这是您需要先做的事情。您没有说明您使用的是哪些库或框架,但有些提供了这个。