Chương 3. Cấu trúc điều khiển và dữ liệu kiểu mảng Hàm so sánh 2 xâu s và t (thay cho các phép toán so sánh). Giá trị trả lại là hiệu 2 kí tự khác nhau đầu tiên của s và t. Từ đó, nếu s1 s2. Trong trường hợp chỉ quan tâm đến so sánh bằng, nếu hàm trả lại giá trị 0 là 2 xâu bằng nhau và nếu giá trị trả lại khác 0 là 2 xâu khác nhau. Ví dụ: | Chương 3. Cấu trúc điều khiển và dữ liệu kiểu mảng Hàm so sánh 2 xâu s và t thay cho các phép toán so sánh . Giá trị trả lại là hiệu 2 kí tự khác nhau đầu tiên của s và t. Từ đó nếu s1 s2 thì hàm trả lại giá trị âm bằng 0 nếu s1 s2 và dưong nếu s1 s2. Trong trường hợp chỉ quan tâm đến so sánh bằng nếu hàm trả lại giá trị 0 là 2 xâu bằng nhau và nếu giá trị trả lại khác 0 là 2 xâu khác nhau. Ví dụ if strcmp s t cout s khác t else cout s bằng t strncmp s t Giống hàm strcmp s t nhưng chỉ so sánh tối đa n kí tự đầu tiên của hai xâu. Ví dụ char s Hà Nội t Hà nội cout strcmp s t -32 vì N 78 n 110 cout strncmp s t 3 0 vì 3 kí tự đầu của s và t là như nhau strcmpi s t Như strcmp s t nhưng không phân biệt chữ hoa thường. Ví dụ char s Hà Nội t hà nội cout strcmpi s t 0 vì s t strupr s Hàm đổi xâu s thành in hoa và cũng trả lại xâu in hoa đó. Ví dụ char s 10 Ha noi cout strupr s HA NOI cout s HA NOI s cũng thành in hoa strlwr s Hàm đổi xâu s thành in thuờng kết quả trả lại là xâu s. Ví dụ char s 10 Ha Noi cout strlwr s ha noi cout s ha noi s cũng thành in thường 69 Chương 3. Cấu trúc điều khiển và dữ liệu kiểu mảng strlen s Hàm trả giá trị là độ dài của xâu s. Ví dụ char s 10 Ha Noi cout strlen s 5 Sau đây là một số ví dụ sử dụng tổng hợp các hàm trên. Ví dụ 1 Thống kê số chữ a xuất hiện trong xâu s. main const int MAX 100 char s MAX 1 int sokitu 0 s MAX 1 for int i 0 i strlen s i if s i a sokitu cout Số kí tự sokitu endl Ví dụ 2 Tính độ dài xâu bằng cách đếm từng kí tự tương đương với hàm strlen main char s 100 độ dài tối đa là 99 kí tự s 100 nhập xâu s for int i 0 s i 0 i chạy từ đầu đến cuối xâu cout Độ dài xâu i Ví dụ 3 Sao chép xâu s sang xâu t tương đương với hàm strcpy t s void main char s 100 t 100 s 100 nhập xâu s int i 0 70 Chương 3. Cấu trúc điều khiển và dữ liệu kiểu mảng while t i s i 0 i cout t endl copy cả dấu kết thúc xâu 0 Ví dụ 4 Cắt dấu cách 2 đầu của xâu s. Chương trình sử dụng biến i chạy từ đầu xâu đến vị trí đầu tiên