Я хотел бы поместить своего рода файл блокировки в домашнюю директорию пользователя на linux (из c ++), но поиск ~ / .fluudit, похоже, не работает.
fopen("~/.fluudit","w"); //fails
Вы можете использовать переменную среды HOME, а если ее нет, вы можете использовать базу паролей:
HOME
#include <unistd.h> #include <sys/types.h> #include <pwd.h> struct passwd *pw = getpwuid(getuid()); const char *homedir = pw->pw_dir;
Расширение от ~ до, скажем, getenv("HOME") называется globbing и это то, что вам нужно сделать в первую очередь. Вы не сказали, какие библиотеки или фреймворки вы используете, но некоторые предоставляют это.
~
getenv("HOME")