ฟังก์ชัน Basename() ในภาษาซี

Fangkchan Basename Ni Phas A Si



การจัดการไฟล์เป็นทรัพยากรที่สำคัญมากและใช้กันอย่างแพร่หลายในการเขียนโปรแกรม เราสามารถจัดเก็บหรือกำจัดข้อมูลในนั้น ไม่ว่าจะสร้างโดยผู้ใช้หรือข้อมูลสำคัญและพารามิเตอร์สำหรับการทำงานของโปรแกรมของเราในไฟล์ระบบ

ฟังก์ชันต่างๆ มากมายที่ภาษา C มีไว้สำหรับการเปิดและแก้ไขไฟล์จะใช้พาธเป็นอินพุตอาร์กิวเมนต์เพื่อชี้ไปที่ไฟล์เหล่านั้น อย่างไรก็ตาม มีบางกรณีที่เราจำเป็นต้องรู้เพียงชื่อไฟล์เท่านั้น ไม่ใช่เส้นทางแบบเต็ม

ในเรื่องนี้ คำแนะนำเกี่ยวกับลินุกซ์ บทความ คุณจะได้เรียนรู้วิธีรับชื่อไฟล์ของเส้นทางที่ระบุด้วย ชื่อฐาน () การทำงาน. เราจะดูที่ไวยากรณ์ อาร์กิวเมนต์อินพุตและเอาต์พุต และประเภทข้อมูลที่ยอมรับโดยละเอียด พอเห็นวิธี ชื่อฐาน () เราจะใช้สิ่งที่เราเรียนรู้กับตัวอย่างที่ใช้งานได้จริงซึ่งรวมถึงส่วนย่อยของโค้ดและรูปภาพที่แสดงกระบวนการทีละขั้นตอนเกี่ยวกับวิธีใช้ฟังก์ชันนี้ในภาษา C







ไวยากรณ์ของฟังก์ชัน Basename() ในภาษาซี

ถ่าน * ชื่อฐาน ( ถ่าน * เส้นทาง )



คำอธิบายของฟังก์ชัน Basename() ในภาษาซี

เดอะ ชื่อฐาน () ฟังก์ชันรับชื่อองค์ประกอบสุดท้ายของเส้นทางของไฟล์หรือโฟลเดอร์ในรูปแบบสตริงที่มีตัวชี้เป็น 'เส้นทาง' ฟังก์ชันนี้ส่งคืนตัวชี้ไปยังสตริงที่มีชื่อเต็มของส่วนประกอบสุดท้ายในเส้นทาง



ตัวชี้ไปยังสตริงที่ระบุเส้นทางเป็นประเภทเดียวกันกับตัวชี้ที่ fopen() ใช้เป็นอาร์กิวเมนต์อินพุตเพื่อเปิดไฟล์ สะดวกที่จะใช้ฟังก์ชั่นเหล่านี้ร่วมกัน





เดอะ ชื่อฐาน () ฟังก์ชันถูกกำหนดไว้ในส่วนหัว 'libgen.h' หากต้องการใช้ เราต้องรวมไว้ในไฟล์ '.c' หรือ '.h' ดังนี้:

# รวม < libgen.h >

วิธีรับชื่อไฟล์ด้วยฟังก์ชัน Basename() ในภาษาซี

ในตัวอย่างนี้ เราอธิบายกระบวนการทีละขั้นตอนเกี่ยวกับวิธีรับชื่อไฟล์หรือส่วนประกอบสุดท้ายของเส้นทางที่กำหนดโดยใช้ ชื่อฐาน () การทำงาน.



ขั้นแรก เราต้องแทรกส่วนหัวลงในไฟล์ “.c” ซึ่งกำหนดฟังก์ชันที่เราใช้ ในกรณีนี้ นี่คือส่วนหัว 'stdio.h' เพื่อใช้ฟังก์ชัน printf() ที่เราใช้เพื่อแสดงชื่อไฟล์และพาธของไฟล์ในคอนโซลคำสั่ง และส่วนหัว 'libgen.h' ที่กำหนด ชื่อฐาน () การทำงาน.

จากนั้นในฟังก์ชัน 'หลัก' เราจะกำหนดพอยน์เตอร์สองตัวที่จำเป็นสำหรับสตริงที่เราใช้เมื่อเรียกใช้ ชื่อฐาน () การทำงาน. คนแรกของพวกเขาคือ path_Ptr ของประเภทถ่านและทำหน้าที่เป็นตัวชี้ไปยังสตริงที่มีเส้นทางที่ระบุไปยังไฟล์ ตัวชี้นี้เป็นอาร์กิวเมนต์อินพุตของ ชื่อฐาน () . สำหรับตัวอย่างนี้ เราเพิ่มพาธสัมบูรณ์ “/home/documents/example.c” ซึ่งเป็นพาธไปยังไฟล์ “.c”

ตัวชี้ที่สองที่เรากำหนดคือ name_Ptr ของประเภทถ่าน และทำหน้าที่เป็นตัวชี้ไปยังสตริงที่เป็นเอาต์พุตอาร์กิวเมนต์ที่ฟังก์ชัน basename() ใช้เพื่อส่งคืนชื่อไฟล์

เมื่อกำหนดพอยน์เตอร์และระบุพาธแล้ว เราเรียกฟังก์ชัน basename() โดยผ่าน path_Ptr ตัวชี้เป็นอาร์กิวเมนต์อินพุตและ name_Ptr ตัวชี้เป็นอาร์กิวเมนต์เอาต์พุตดังนี้:

name_Ptr = ชื่อฐาน ( path_Ptr ) ;

ต่อไปนี้เป็นรหัสที่สมบูรณ์เพื่อรับชื่อไฟล์หรือส่วนประกอบสุดท้ายของเส้นทางที่ระบุไว้ใน path_Ptr . ใช้ฟังก์ชัน printf() แสดงเส้นทางและข้อความ “ ชื่อของไฟล์คือ: ” ในคอนโซลคำสั่ง ตามด้วยชื่อไฟล์ที่ได้รับโดยใช้ฟังก์ชันชื่อฐาน

#รวม
#รวม

โมฆะหลัก ( )
{

ถ่าน * name_Ptr;
ถ่าน * path_Pt r = '/home/Documents/example.c' ;
name_Ptr = ชื่อฐาน ( path_Ptr ) ;
พิมพ์ฉ ( ' \n \n เส้นทางของไฟล์คือ: %s \n \n ' ,path_Ptr ) ;
พิมพ์ฉ ( ' \n \n ชื่อไฟล์คือ: %s \n \n ' ,name_Ptr ) ;

}

ในการคอมไพล์โค้ดนี้เป็น gcc เราจำเป็นต้องเรียกใช้ “ จีซีซี เส้นทางไฟล์ -O ชื่อเอาต์พุต” คำสั่ง

~$ จีซีซี เอกสาร / ตัวอย่างค -O ตัวอย่าง

ในการดำเนินการเอาต์พุต เราต้องเรียกใช้คำสั่ง “./ ชื่อเอาต์พุต”

~$ . / ตัวอย่าง

ในรูปต่อไปนี้ คุณสามารถดูผลลัพธ์ของการดำเนินการคอมไพล์ซึ่งแสดงพาธและชื่อไฟล์ในคอนโซลคำสั่งซึ่งระบุในพาธใน path_Ptr .

บทสรุป

ในเรื่องนี้ คำแนะนำเกี่ยวกับลินุกซ์ บทความ คุณได้เรียนรู้วิธีใช้ ชื่อฐาน () ฟังก์ชันเพื่อรับชื่อไฟล์หรือส่วนประกอบสุดท้ายของเส้นทางที่กำหนด เราดูที่ทฤษฎีของฟังก์ชันนี้ อาร์กิวเมนต์อินพุตและเอาต์พุต และประเภทของข้อมูลที่แต่ละฟังก์ชันยอมรับ จากนั้น เราดูตัวอย่างที่ใช้งานได้จริงโดยแสดงให้คุณเห็นกระบวนการทีละขั้นตอนเกี่ยวกับวิธีแทรกส่วนหัวที่จำเป็น กำหนดตัวชี้ที่ฟังก์ชันใช้เป็นอาร์กิวเมนต์อินพุตและเอาต์พุต และเรียกค้นชื่อไฟล์โดยเรียก ชื่อฐาน () .

เราหวังว่าคุณจะพบว่าบทความนี้มีประโยชน์ สำหรับบทความเพิ่มเติมเช่นนี้ ให้ใช้เครื่องมือค้นหาบนเว็บไซต์ของเรา