Có một số, mỗi mục đích phục vụ các mục đích khác nhau (bỏ qua các biến thể ký tự rộng hiện nay).
strcmp
- so sánh hai chuỗi, ký tự theo ký tự (với khái niệm C của chuỗi nào bằng nhau hoặc không - không cần trùng với cách con người nghĩ - xem strcoll
). Có một biến thể để chỉ so sánh số đầu tiên ở nhiều nhất là n ký tự, strncmp
.
strcasecmp
- so sánh hai chuỗi, bỏ qua trường hợp. Có một biến thể để chỉ so sánh số đầu tiên ở hầu hết các số n ký tự, strncasecmp
.
strcoll
- so sánh hai chuỗi, quan sát vị trí hiện được đặt (đó là lý do tại sao nó được gọi là đối chiếu, không so sánh trong trường hợp này). Nếu bạn muốn ss
và ß
để so sánh tương đương với đối tượng Đức, thì đây là những gì bạn nên sử dụng.
Nơi bạn có thể viết
if (string1 > string2) ...
bằng một ngôn ngữ, bạn phải viết
if (strmp(string1, string2) > 0) ...
trong C. Về cơ bản bạn di chuyển cả hai toán hạng vào cuộc gọi chức năng, giữ lại các toán tử so sánh và so sánh với 0
để thay thế.