5
我想將一種鎖定文件放在Linux上的用戶主目錄(來自C++),但fopen'ing〜/ .fluudit似乎不起作用。如何打開用戶的個人文件夾中的文件
fopen("~/.fluudit","w"); //fails
我想將一種鎖定文件放在Linux上的用戶主目錄(來自C++),但fopen'ing〜/ .fluudit似乎不起作用。如何打開用戶的個人文件夾中的文件
fopen("~/.fluudit","w"); //fails
您可以使用環境變量HOME
,如果這是不存在的,你可以使用密碼數據庫:
#include <unistd.h>
#include <sys/types.h>
#include <pwd.h>
struct passwd *pw = getpwuid(getuid());
const char *homedir = pw->pw_dir;
的~
擴張,比方說,getenv("HOME")
被稱爲通配,是您首先需要做一些事情。你沒有說你正在使用哪個庫或框架,但有些提供了這個。
〜因爲它是翻譯的外殼不在這裏工作了〜到合適的主目錄。 shell將命令行中的特殊字符(〜)替換爲絕對路徑。因此〜不能用於C或C++程序。 – srikanta 2010-05-28 03:58:56