Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Hệ điều hành Unix] Xác định loại file từ st_mode

    Xác định loại file từ st_mode

    Trường st_mode chứa cả loại file ở các bit cao. Cho giá trị st_mode (số octal đầy đủ, ví dụ 0100644 cho file thường), hãy in ký tự loại file đứng đầu chuỗi ls -l:

    Macro Loại Ký tự
    S_ISREG file thường -
    S_ISDIR thư mục d
    S_ISLNK symbolic link l
    S_ISCHR character device c
    S_ISBLK block device b
    S_ISFIFO FIFO/pipe p
    S_ISSOCK socket s

    Dùng các macro S_IS* (so st_mode & S_IFMT với S_IFDIR, ...).

    Ví dụ

    • Vào: 0100644 (octal) = file thường
    • Ra: -.
    • Định dạng đầu vào:

      Một dòng: giá trị st_mode dạng octal (có thể nhiều chữ số).

    • Ràng buộc đầu vào:

      st_mode là số octal hợp lệ tương ứng một loại file chuẩn POSIX.

    • Định dạng đầu ra:

      Một dòng: một ký tự loại file.

    Ví dụ:

    Đầu vào:

    100644
    

    Đầu ra:

    -

    Giải thích:

    0100000 = S_IFREG -> file thường.

    Đang tải editor...