1
Linux Suse10 시스템에 로그인하고 C++ 프로그램을 통해 getlogin_r()을 확인하면 로그인 이름으로 올바른 결과를 얻습니다.Linux에서 getlogin 함수 사용
int main()
{
char szUserName[64] = {0};
int nGet = getlogin_r(szUserName, sizeof(szUserName)-1);
if(0 != nGet)
{
printerr();
}
printf("%s\n", szUserName);
char * szHome = getlogin();
printf("%s\n", szHome);
return 0;
}
는하지만 SU 사용 후 - NAME2 난 이제 로그인을 변경했습니다. 그러나 getlogin_r()은 이전의 usename을 계속 표시합니다.
하나의 해결책은 geteuid()를 사용하는 것입니다. 그러나 위의 이유는 무엇입니까
우리 중 많은 사람들이 경험 한 트로프에서 배운 교훈 :) – KevinDTimm