C:
ค้นหาความยาวของสตริง
วิธีการ:
ในภาษา C, ฟังก์ชันมาตรฐาน strlen()
มักถูกใช้ในการหาความยาวของสตริง นี่คือตัวอย่างเล็กน้อย:
#include <stdio.h>
#include <string.h>
int main() {
char myString[] = "Hello, World!";
size_t length = strlen(myString);
printf("ความยาวของ '%s' คือ %zu.\n", myString, length);
return 0;
}
ผลลัพธ์ตัวอย่าง:
ความยาวของ 'Hello, World!' คือ 13.
ในตัวอย่างนี้, strlen()
รับสตริง (myString
) เป็นอินพุตและคืนค่าความยาวโดยไม่รวมตัวคั่นท้าย null การใช้ size_t
สำหรับตัวแปรความยาวเป็นสิ่งที่แนะนำเนื่องจากเป็นประเภทจำนวนเต็มที่ไม่มีเครื่องหมาย ทำให้สามารถแทนค่าขนาดของวัตถุได้ใหญ่ที่สุดบนระบบ
ศึกษาลึกขึ้น:
ฟังก์ชัน strlen()
เป็นส่วนหนึ่งของห้องสมุดมาตรฐานของภาษา C ตั้งแต่ภาษาถูกสร้างขึ้น ด้วยการทำงานภายใน, มันทำงานโดยการเพิ่มเคาน์เตอร์ขณะที่ทำการเดินทางผ่านสตริงจนกระทั่งมันพบกับตัวคั่นท้าย null อย่างไรก็ตาม ความเรียบง่ายนี้มาพร้อมกับการพิจารณาด้านประสิทธิภาพ: เนื่องจาก strlen()
นับตัวอักษรที่เวลาเรียกใช้งาน, การเรียกใช้ซ้ำๆ กับสตริงเดียวกันในลูป เช่น, เป็นสิ่งที่ไม่มีประสิทธิภาพ
ในแง่ของความปลอดภัย, strlen()
และฟังก์ชันการจัดการสตริงอื่นๆ ในภาษา C ไม่ตรวจสอบการเข้าถึงบัฟเฟอร์เกินขอบเขตโดยธรรมชาติ, ทำให้การโปรแกรมอย่างระมัดระวังเป็นสิ่งสำคัญเพื่อหลีกเลี่ยงช่องโหว่ ความเสี่ยง ความทันสมัยในภาษาอื่นๆ เช่น ประเภทสตริงที่รวมความยาวหรือการใช้การจัดการบัฟเฟอร์ที่ปลอดภัยโดยค่าเริ่มต้น ช่วยลดความเสี่ยงและการใช้งานที่ไม่มีประสิทธิภาพบางอย่าง
แม้ว่าจะมีข้อจำกัด, การเข้าใจ strlen()
และการจัดการสตริงด้วยตนเองในภาษา C เป็นสิ่งสำคัญสำหรับโปรแกรมเมอร์, โดยเฉพาะเมื่อทำงานกับโค้ดระดับต่ำหรือเมื่อประสิทธิภาพและการควบคุมหน่วยความจำเป็นสิ่งสำคัญ นอกจากนี้ยังให้ข้อมูลเชิงลึกที่มีค่าเกี่ยวกับการทำงานของการแปลงสตริงระดับสูงในภาษาอื่น ๆ