Tính Độ Dài Chuỗi Trong C++
Hướng dẫn tính độ dài chuỗi trong C. Bạn sẽ học được cách tính độ dài chuỗi bằng cách sử dụng hàm strlen trong C sau bài viết này.
Bạn đang xem: Tính độ dài chuỗi trong c++
Độ dài chuỗi trong C là gì
Chúng ta coi độ dài chuỗi trong C chính là tổng số mã ký tự tạo nên các ký tự trong nó. Và do các ký tự trong C thường được tạo bởi một mã ký tự nên trong phần lớn trường hợp thì độ dài chuỗi chính là số ký tự tạo nên chuỗi đó.
Ví dụ chuỗi bigcityboy được tạo bởi 10 ký tự, nên độ dài của chuỗi này bằng 10 đơn vị.
Lưu ý rằng độ dài của chuỗi có thể khác với số ký tự có trong chuỗi, trong trường hợp tồn tại ký tự được tạo bởi hơn 2 mã ký tự, như là ký tự tiếng Việt có dấu, hoặc là kanji tiếng Nhật chẳng hạn.
Copychar srt1<>="bigcityboy";// độ dài chuỗi str1 = 10char srt2<>="đế";// độ dài chuỗi str2 = 5 |
Tính độ dài chuỗi bằng hàm strlen trong C
Hàm strlen trong C là một hàm có sẵn header file string.h, giúp chúng ta tính độ dài chuỗi trong đối số.Cú pháp sử dụng hàm strlen để tính độ dài chuỗi trong C như sau:
strlen(str);
Trong đó str là tên của chuỗi cần tính độ dài.
Hàm strlen() sẽ trả về độ dài chuỗi ký tự được gán trong chuỗi. Lưu ý rằng đây là độ dài (số ký tự) của chuỗi giá trị gán trong chuỗi, do đó nó sẽ không bao gồm cả ký tự kết thúc chuỗi \0 khi tính độ dài.
Xem thêm: Hình Ảnh Que Thử Thai Như Thế Nào Là Có Bầu, Que Thử Mấy Vạch Là Có Thai
Lưu ý là chúng ta cần phải viết thêm dòng #include để load header file string.h để có thể sử dụng được hàm strlen() trong chuơng trình.
Ví dụ cụ thể:
Copy#include #include int main(void){ char str<> = "I Love C/C++"; int len; len = strlen(str); printf("Length of \"%s\" is %d.\n", str, len);}//Length of "I Love C/C++" is 12. |
Tính độ dài chuỗi có chứa tiếng Việt bằng hàm strlen trong C
Trong bài Ký tự trong C (character literal) chúng ta đã biết trong C, các ký tự tiếng Việt có dấu (ví dụ như ă, ú,đ…) được biểu diễn bởi nhiều hơn 2 mã ký tự, do đó nếu sử dụng hàm strlen() với các ký tự này thì chúng ta sẽ nhận được kết quả nhiều hơn số ký tự tạo nên chuỗi.Chuyện này cũng tương tự khi chúng ta sử dụng hàm strlen() với các các ký tự được tạo bởi 2 bite trở lên như hán tự tiếng Trung hoặc tiếng Nhật zenkaku.
Điều này khá là khác biệt so với các ngôn ngữ khác, ví dụ như Python chẳng hạn, vốn tính độ dài chuỗi chính bằng số ký tự tạo nên nó, chứ không phụ thuộc vào số mã ký tự tạo nên các ký tự trong nó.
Bởi vậy, chúng ta cần chú ý không nhầm lẫn độ dài của chuỗi trong C với số ký tự trong chuỗi khi trong chuỗi đó chứa các ký tự được biểu diễn bởi nhiều hơn 2 mã ký tự.
Xem thêm: Cao Là Chất Điện Li Mạnh Hay Yếu ? 2021 Cao Và Cuo Có Phải Chất Điện Li Ko
Ví dụ cụ thể:
Copy#include #include int main(void){ // Tính độ dài chuỗi chứa ký tự tiếng anh char str1<> = "e"; printf("%d\n",strlen(str1));//1 // Tính độ dài chuỗi chứa ký tự tiếng Việt char str2<> = "ê"; printf("%d\n",strlen(str2));//2 // Tính độ dài chuỗi chứa ký tự tiếng Việt có dấu char str3<> = "ế"; printf("%d\n",strlen(str3));//3 // Tính độ dài chuỗi chứa kanji tiếng Nhật char str4<> = "東京"; printf("%d\n",strlen(str4));//6} |