Hàm Basename() trong ngôn ngữ C

Ham Basename Trong Ngon Ngu C



Quản lý tệp là một tài nguyên rất quan trọng và được sử dụng rộng rãi trong lập trình. Chúng tôi có thể lưu trữ hoặc loại bỏ thông tin trong chúng, do người dùng tạo hoặc dữ liệu và tham số quan trọng cho hoạt động của chương trình của chúng tôi trong các tệp hệ thống.

Nhiều chức năng khác nhau mà ngôn ngữ C cung cấp để mở và chỉnh sửa tệp sử dụng đường dẫn của chúng làm đối số đầu vào để trỏ đến chúng. Tuy nhiên, có những trường hợp chúng ta chỉ cần biết tên của tệp chứ không phải đường dẫn đầy đủ của nó.

trong này Gợi ý Linux bài viết này, bạn sẽ học cách lấy tên tệp của một đường dẫn được chỉ định với tên cơ sở() hàm số. Chúng ta sẽ xem xét chi tiết cú pháp, các đối số đầu vào và đầu ra cũng như các kiểu dữ liệu được chấp nhận. Sau khi thấy thế nào tên cơ sở() hoạt động về mặt lý thuyết, chúng tôi sẽ áp dụng những gì đã học với một ví dụ thực tế bao gồm các đoạn mã và hình ảnh hiển thị quy trình từng bước về cách sử dụng chức năng này trong ngôn ngữ C.







Cú pháp hàm Basename() trong ngôn ngữ C

char * tên cơ sở ( char * đường dẫn)



Mô tả hàm Basename() trong ngôn ngữ C

Các tên cơ sở() Hàm lấy tên của thành phần cuối cùng trong đường dẫn của tệp hoặc thư mục ở định dạng chuỗi có con trỏ là “đường dẫn”. Hàm này trả về con trỏ tới một chuỗi chứa tên đầy đủ của thành phần cuối cùng trong đường dẫn.



Con trỏ tới chuỗi chỉ định đường dẫn cùng loại với con trỏ mà fopen() sử dụng làm đối số đầu vào để mở tệp. Thật thuận tiện khi sử dụng các chức năng này cùng nhau.





Các tên cơ sở() chức năng được xác định trong tiêu đề “libgen.h”. Để sử dụng nó, chúng ta cần đưa nó vào tệp “.c” hoặc “.h” như sau:

# bao gồm < libgen.h >

Cách lấy tên tệp bằng hàm Basename() trong ngôn ngữ C

Trong ví dụ này, chúng tôi giải thích quy trình từng bước về cách lấy tên tệp hoặc thành phần cuối cùng của đường dẫn đã cho bằng cách sử dụng tên cơ sở() hàm số.



Trước tiên, chúng ta cần chèn các tiêu đề vào tệp “.c” để xác định các chức năng mà chúng ta sử dụng. Trong trường hợp này, đây là tiêu đề “stdio.h” để sử dụng hàm printf() mà chúng tôi sử dụng để hiển thị tên của tệp và đường dẫn của tệp trong bảng điều khiển lệnh và tiêu đề “libgen.h” xác định tên cơ sở() hàm số.

Sau đó, trong hàm “main”, chúng ta xác định hai con trỏ cần thiết cho các chuỗi mà chúng ta sử dụng khi gọi hàm tên cơ sở() hàm số. Đầu tiên trong số họ là đường dẫn_Ptr của kiểu char và phục vụ như một con trỏ tới chuỗi chứa đường dẫn đã chỉ định tới tệp. Con trỏ này là đối số đầu vào cho tên cơ sở() . Đối với ví dụ này, chúng tôi thêm đường dẫn tuyệt đối “/home/documents/example.c” là đường dẫn đến tệp “.c”.

Con trỏ thứ hai mà chúng ta định nghĩa là name_Ptr kiểu char và đóng vai trò là con trỏ tới chuỗi là đối số đầu ra mà hàm basename() sử dụng để trả về tên của tệp.

Với các con trỏ được xác định và đường dẫn được chỉ định, chúng ta gọi hàm basename(), chuyển đường dẫn_Ptr con trỏ làm đối số đầu vào và tên_Ptr con trỏ làm đối số đầu ra như sau:

tên_Ptr = tên cơ sở ( đường dẫn_Ptr ) ;

Sau đây là mã hoàn chỉnh để lấy tên tệp hoặc thành phần cuối cùng của đường dẫn được chỉ định trong đường dẫn_Ptr . Sử dụng hàm printf(), chúng ta hiển thị đường dẫn và thông báo “ Tên của tệp là: ” trong bảng điều khiển lệnh, theo sau là tên của tệp thu được bằng hàm tên cơ sở.

#include
#include

khoảng trống chính ( )
{

than * tên_Ptr;
than * đường dẫn_Pt r = '/home/Documents/example.c' ;
tên_Ptr = tên cơ sở ( đường dẫn_Ptr ) ;
bản inf ( ' \N \N Đường dẫn của tệp là: %s \N \N ' , đường dẫn_Ptr ) ;
bản inf ( ' \N \N Tên của tệp là: %s \N \N ' , tên_Ptr ) ;

}

Để biên dịch mã này vào gcc, chúng ta cần chạy “ gcc đường dẫn tập tin tên đầu ra”.

~$ gcc Các tài liệu / ví dụ.c thí dụ

Để thực hiện đầu ra, chúng ta phải chạy lệnh “./ tên đầu ra”.

~$ . / thí dụ

Trong hình dưới đây, bạn có thể thấy kết quả của quá trình biên dịch hiển thị đường dẫn và tên của tệp trong bảng điều khiển lệnh được chỉ định trong đường dẫn trong đường dẫn_Ptr .

Sự kết luận

trong này Gợi ý Linux bài viết, bạn đã học cách sử dụng tên cơ sở() để lấy tên của tệp hoặc thành phần cuối cùng của một đường dẫn nhất định. Chúng tôi đã xem xét lý thuyết về hàm này, các đối số đầu vào và đầu ra của nó cũng như loại dữ liệu mà mỗi hàm chấp nhận. Sau đó, chúng tôi đã xem xét một ví dụ thực tế bằng cách chỉ cho bạn quy trình từng bước về cách chèn các tiêu đề cần thiết, xác định các con trỏ mà hàm sử dụng làm đối số đầu vào và đầu ra, đồng thời truy xuất tên của tệp bằng cách gọi hàm tên cơ sở() .

Chúng tôi hy vọng rằng bạn thấy bài viết này hữu ích. Để biết thêm các bài viết như thế này, hãy sử dụng công cụ tìm kiếm trên trang web của chúng tôi.