Wie kann man in C den localen User ansprechen?

...komplette Frage anzeigen

2 Antworten

Du kannst Usernamen und dessen Homedirectory aus dem Environment ziehen.

int main(int argc,char *argv[])
{
  char *p;
  p=getenv("USERNAME");
  printf("Benutzername: %s\n",p==NULL ? "<NULL>" : p);
  p=getenv("USERPROFILE");
  printf("Homedirectory: %s\n",p==NULL ? "<NULL>" : p);
  return 0;
}

oh ne, :D das nerft an c, alles is komplex :D

0

Wenn man sich auf eine Windows-Version beschränkt, funktioniert das ganz gut.

Falls man mit anderen Windows-Versionen kompatibel sein möchte, hat man das Problem, dass die Unterverzeichnisse von USERPROFILE andere Namen haben!

Beispiel: Windows XP: "Eigene Dateien"; Windows 7: "Documents"

Dieses Problem würde man nur mit SHGetFolderPath() bzw. SHGetKnownFolderPath() in den Griff bekommen.

0

Probier mal %USERNAME% anstatt den Benutzernamen, den du gerade drin hast. In welcher Sprache ist dein Programm denn geschrieben?

in c, ich versuchs

0

Ich hab gerade nochmal nachgeguckt. Statt C:/users/benutzername/Ordner einfach %userprofile%/Ordner oder so. Windows muss ja nicht zwingend auf C installiert sein.

0

Was möchtest Du wissen?