Có cách nào trong C để xóa (sử dụng remove()
) nhiều tệp bằng cách sử dụng *
(ký tự đại diện) không? Tôi có một tập hợp các tệp bắt đầu bằng Chỉ mục. Ví dụ: Index1.txt
, Index-39.txt
v.v. Tất cả đều bắt đầu bằng Chỉ mục nhưng tôi không biết văn bản nào sau đó. Ngoài ra còn có các tệp khác trong cùng một thư mục để xóa tất cả các tệp sẽ không hoạt động.Làm thế nào để loại bỏ nhiều tập tin trong C bằng cách sử dụng ký tự đại diện?
Tôi biết bạn có thể đọc thư mục, lặp lại từng tên tệp, đọc 5 ký tự đầu tiên, so sánh và nếu nó phù hợp thì xóa, nhưng, có cách dễ dàng hơn (đây là những gì tôi hiện đang thực hiện) ?
Đây là tiêu chuẩn C, vì mã chạy trên Linux và Windows.
Cảm ơn câu trả lời. Tôi luôn luôn đánh giá cao khi mọi người nói với bạn khi một cái gì đó không thể được thực hiện, thay vì BS'ing bạn. – Uri
Trên Unix thay vì chuyển đổi các ký tự đại diện thành cụm từ thông dụng, bạn nên sử dụng fnmatch (http://www.opengroup.org/onlinepubs/000095399/functions/fnmatch.html). –