나는 (C++에서) 리눅스의 사용자 홈 디렉토리에 잠금 파일을 넣고 싶지만 ~ fopen'ing ~/.fluudit가 작동하지 않는 것 같습니다.사용자의 홈 폴더에있는 파일을 여는 방법
fopen("~/.fluudit","w"); //fails
나는 (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")
는 글 로빙 전화를 먼저해야 할 일이다. 당신은 어떤 라이브러리 또는 프레임 워크를 사용하고 있는지 말하지 않았지만 일부는이를 제공합니다.
~이 번역 쉘 때문에 적절한 홈 디렉토리에 ~ 여기에 작동하지 않습니다. 쉘은 명령 행에서 특수 문자 (~)를 절대 경로로 바꿉니다. 따라서 ~는 C 또는 C++ 프로그램에서 사용할 수 없습니다. – srikanta