Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menentukan Direktori Laman Utama Pengguna dengan Amanah dalam Linux C?

Bagaimana untuk Menentukan Direktori Laman Utama Pengguna dengan Amanah dalam Linux C?

DDD
Lepaskan: 2024-10-27 10:22:03
asal
599 orang telah melayarinya

How to Reliably Determine a User's Home Directory in Linux C  ?

Menentukan Direktori Laman Utama Pengguna dalam Linux

Dalam pengaturcaraan C di Linux, keperluan biasa adalah untuk mengakses direktori rumah pengguna. Walaupun pembolehubah persekitaran HOME menyediakan pendekatan yang mudah, artikel ini meneroka kaedah yang lebih dipercayai untuk mendapatkan semula direktori rumah.

Mendapatkan semula Direktori Laman Utama

Untuk mendapatkan direktori utama daripada pengguna semasa, langkah berikut boleh digunakan:

  1. Tentukan ID pengguna menggunakan getuid().
  2. Gunakan getpwuid() untuk mendapatkan semula entri kata laluan untuk pengguna, yang termasuk laluan direktori rumah.

Berikut ialah coretan kod contoh yang menunjukkan pendekatan ini:

<code class="c++">#include <unistd.h>
#include <sys/types.h>
#include <pwd.h>

int main() {
  struct passwd *pw = getpwuid(getuid());

  const char *homedir = pw->pw_dir;

  // ...
}</code>
Salin selepas log masuk

Kebenaran Direktori Laman Utama

Jika program sedang berjalan sebagai root, biasanya tidak digalakkan untuk mencipta fail atau folder dalam direktori rumah akar (/root). Ini kerana pengguna root mempunyai akses tanpa had kepada sistem dan hanya perlu membuat fail atau folder seperti yang diperlukan untuk tugas penyelenggaraan atau pentadbiran sistem.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Direktori Laman Utama Pengguna dengan Amanah dalam Linux C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan