91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++ getcwd如何處理符號鏈接

c++
小樊
81
2024-11-27 15:16:14
欄目: 編程語言

getcwd() 函數用于獲取當前工作目錄的絕對路徑

#include <iostream>
#include <unistd.h>
#include <limits.h>
#include <sys/stat.h>

int main() {
    char cwd[PATH_MAX];
    if (getcwd(cwd, sizeof(cwd)) != nullptr) {
        std::cout << "Current working directory: " << cwd << std::endl;
    } else {
        perror("getcwd() error");
        return 1;
    }

    // 處理符號鏈接
    struct stat st;
    if (stat(cwd, &st) == 0) {
        if (S_ISLNK(st.st_mode)) {
            std::cout << "The current working directory is a symbolic link." << std::endl;

            // 獲取符號鏈接指向的實際路徑
            char real_cwd[PATH_MAX];
            if (readlink(cwd, real_cwd, sizeof(real_cwd)) != nullptr) {
                std::cout << "Real working directory: " << real_cwd << std::endl;
            } else {
                perror("readlink() error");
                return 1;
            }
        }
    } else {
        perror("stat() error");
        return 1;
    }

    return 0;
}

這個程序首先使用 getcwd() 獲取當前工作目錄的絕對路徑,然后使用 stat() 檢查路徑是否為符號鏈接。如果是符號鏈接,程序將使用 readlink() 獲取符號鏈接指向的實際路徑,并將其輸出到控制臺。

0
社会| 北流市| 安丘市| 娄底市| 县级市| 堆龙德庆县| 克拉玛依市| 高邮市| 阳原县| 昌吉市| 安岳县| 北票市| 天柱县| 秦皇岛市| 开远市| 芮城县| 永城市| 临城县| 郎溪县| 阳江市| 巫溪县| 金塔县| 米泉市| 卓资县| 岢岚县| 邢台县| 历史| 玉龙| 亚东县| 铜梁县| 胶州市| 同江市| 搜索| 宜宾市| 利辛县| 南通市| 垣曲县| 理塘县| 鄂伦春自治旗| 昌图县| 合水县|