Kullanıcının giriş dizinine linux (C++) 'dan bir tür kilit dosyası koymak istiyorum ama fopen'ing ~/.fluudit çalışmıyor gibi görünüyor.Kullanıcı ana klasöründeki bir dosyanın nasıl açılacağı
fopen("~/.fluudit","w"); //fails
Kullanıcının giriş dizinine linux (C++) 'dan bir tür kilit dosyası koymak istiyorum ama fopen'ing ~/.fluudit çalışmıyor gibi görünüyor.Kullanıcı ana klasöründeki bir dosyanın nasıl açılacağı
fopen("~/.fluudit","w"); //fails
Sen HOME
değişken ortam kullanabilir ve bu mevcut değilse, şifre veritabanını kullanabilirsiniz:
#include <unistd.h>
#include <sys/types.h>
#include <pwd.h>
struct passwd *pw = getpwuid(getuid());
const char *homedir = pw->pw_dir;
diyelim ki, ~
genişlemesi, getenv("HOME")
globbing denilen ve ilk yapmanız gereken şey olduğunu. Kullandığınız hangi kütüphaneleri veya çerçeveleri söylemediniz, ancak bazıları bunu sağlıyor.
~ o çevirir kabuk çünkü uygun ana dizine ~ burada çalışmıyor. Kabuk, komut satırındaki özel karakteri (~) mutlak yola değiştirir. Bu nedenle, C veya C++ programlarında kullanılamaz. – srikanta