Giriş dizini gerçekten platformlar arası bir kavram değildir. Profil dizininin kökünü (% USERPROFILE%) öneriniz adil bir benzeşimdir, ancak dizini aldıktan sonra ne yapmak istediğinize bağlı olarak, Uygulama Veri dizinlerinden birini veya kullanıcının Belgelerim'i isteyebilirsiniz. UNIX'te, dosyalarınızı saklamak için giriş dizininde gizli bir ".myapp" oluşturabilirsiniz, ancak bu Windows'ta doğru değildir.
En iyi seçiminiz, her bir durumda istediğiniz dizine ulaşmak için her platform için özel kod yazmaktır. Ne kadar doğru olmak istediğinize bağlı olarak, env vars: Windows üzerinde UNIX, USERPROFILE veya APPDATA (ihtiyacınız olana bağlı olarak) üzerinde HOME kullanmak için yeterli olabilir.
UNIX'te en azından (herhangi bir Windows kullanıcıları yorum yapmayı önemsiyor mu?), Ayarlanmışsa EV ortam değişkeni kullanmak, parola dosyasındaki dizine uymuyor olsa bile genellikle iyi bir uygulamadır. Ardından, kullanıcıların tüm uygulamaların verilerini farklı bir dizinden okumasını istediği garip olaylarda, yine de çalışır.
Çapraz platform, yapamazsınız. Standart C++ böyle bir işleve sahip değildir. –
Cevabımı kontrol edin, platformlar arası bir yol var: '# ifdef': D'yi kullanarak uygularsınız: D – sorin
Ayrıca bkz. Http: // stackoverflow.com/questions/2910377/get-home-directory-in-linux-c – rogerdpack