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] Mô phỏng getopts với optstring

    Mô phỏng cách getopts hoạt động. Dòng đầu là optstring kiểu getopts (ví dụ ab:c nghĩa là cờ -a, -c không cần giá trị, còn -b cần một giá trị đi kèm). Dòng hai là chuỗi tham số.

    Duyệt lần lượt từng token:

    • Nếu là cờ hợp lệ không cần giá trị: in tên cờ (không có dấu -), ví dụ a.
    • Nếu là cờ hợp lệ cần giá trị: in tên=giá_trị, lấy token kế tiếp làm giá trị, ví dụ b=val.
    • Nếu là cờ không có trong optstring: in INVALID:tên.
    • Nếu là tham số vị trí: in ARG:token.

    Mỗi kết quả một dòng, theo thứ tự xử lý.

    • Định dạng đầu vào:

      Dòng 1: optstring. Dòng 2: chuỗi tham số. Các cờ ở dạng một ký tự -x.

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

      Cờ luôn dạng -x (1 ký tự). Optstring chỉ gồm chữ cái và dấu :. Số token ≤ 50.

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

      Mỗi token một dòng theo quy tắc trên.

    Ví dụ:

    Đầu vào:

    ab:c
    -a -b val -c
    

    Đầu ra:

    a
    b=val
    c

    Giải thích:

    -a và -c không cần giá trị nên in a, c; -b cần giá trị nên in b=val.

    Đang tải editor...