So sánh hai mảng ký tự năm 2024
Bạn đang ở đâyadmin gửi vào Thứ bảy, 30 Tháng 8, 2014 - 18:04 Show
Giới thiệuChúng ta có nhiều cách để so sánh chuỗi trong môi trường lập trình Arduino. Trong đó, ta có thể dùng các toán tử như \>=, <=, <, \>, \= hoặc sử dụng các hàm của thư viện String như equals(), equalsIgoreCase(). Việc so sánh chuỗi là việc so sánh mã của ký tự khác nhau đầu tiên của cả 2 chuỗi. Ví dụ, '1' < '2', 'a' < 'b', '999' > '1000' (vì ký tự đầu tiên khác nhau của 2 chuỗi đó nằm ở vị trí thứ 0 và ký tự '9' trong mã ASCII có giá trị lớn hơn ký tự '1'). Lưu ý: Chúng ta rất dễ bị nhầm lẫn rằng việc so sánh chuỗi số cũng chính là so sánh số. Điều này không chính xác (ví dụ trên), và vì vậy ta cần phải cẩn thận khi so sánh các chuỗi số. Và điều đơn giản nhất đó là việc ta chuyển số các chuỗi số ấy thành số ở các kiểu như int, float, long,... Bây giờ hãy gắn Arduino vào máy tính và upload đoạn code sau và rút kinh nghiệm của riêng mình! Lập trìnhString stringOne, stringTwo; void setup() { // Mở cổng Serial với mức baudrate 9600 Serial.begin(9600); while (!Serial) { }
stringOne = String("this");
stringTwo = String("that");
}
void loop() {
// so sánh 2 chuỗi có bằng nhau hay không (cách 1)
if (stringOne == "this") { }
// nếu 2 chuỗi khác nhau
if (stringOne != stringTwo) { }
// trường hợp 2 từ cùng 1 nghĩa nhưng cách viết khác nhau (hoa, thường)
stringOne = "This";
stringTwo = "this";
//Vì viết khác định dạng nên khi so sánh, 2 chuỗi này sẽ không bằng nhau
if (stringOne != stringTwo) { }
// Bạn có thể dùng hàm equals để kiểm tra 2 chuỗi có giống (bằng) nhau hay không
if (stringOne.equals(stringTwo)) { }
else { }
// hoặc trong trường hợp bạn muốn kiểm tra 2 chuỗi có bằng nhau hay không mà không phân biệt hoa thường
if (stringOne.equalsIgnoreCase(stringTwo)) { } else { }
// một chuỗi số nguyên có thể so sánh với 1 số nguyên bằng cách...
stringOne = "1";
int numberOne = 1;
if (stringOne.toInt() == numberOne) { }
// so sánh 2 chuỗi số nguyên
stringOne = "2";
stringTwo = "1";
if (stringOne >= stringTwo) { }
// các toán tử so sánh cũng có thể dùng để so sánh 2 chuỗi
stringOne = String("Brown");
if (stringOne < "Charles") { }
if (stringOne > "Adams") { }
if (stringOne <= "Browne") { }
if (stringOne >= "Brow") { }
// hàm compareTo() dùng để so sánh 2 chuỗi
// nó sẽ trả về 1 số nguyên là vị trí đầu tiên (tính từ bên trái)
// khác nhau giữa 2 chuỗi.
// số nguyên nó là số âm nếu chuỗi A bé hơn chuỗi B
// là số dương nếu chuỗi A lớn hơn chuỗi B
// và bằng 0 khi 2 chuỗi bằng nhau.
stringOne = "Cucumber";
stringTwo = "Cucuracha";
if (stringOne.compareTo(stringTwo) < 0 ) { }
else { }
while (true) {} //dừng chương trình không chạy tiếp nữa
}Hãy trở thành thành viên của Cộng đồng Arudino Việt Nam để mở khóa chức năng này. C++
2 có sẵn các hàm để thao tác dữ liệu của loại
2. Hàm
8 là một hàm trong thư viện C được sử dụng để so sánh hai chuỗi theo cách từ điển. cú pháp strcmp()
Hàm này trả về các giá trị sau theo các trường hợp phù hợp:
strcmp() Ví dụ 1Chạy đoạn mã sau:
Điều này sẽ tạo ra đầu ra sau:
0 dẫn đến
1. Các giá trị của
2 và
3 là khác nhau. strcmp() Ví dụ 2Chạy đoạn mã sau:
Điều này sẽ tạo ra đầu ra sau:
0 dẫn đến
7. Giá trị của
2 và
3 giống nhau. 2. Sử dụng hàm so sánh() trong C++C++ có hàm
8 tích hợp để so sánh hai chuỗi. so sánh() Cú phápHàm
8 so sánh hai chuỗi:
Hàm này trả về các giá trị sau theo các trường hợp phù hợp:
Ví dụ 1: Sử dụng so sánh()Chạy đoạn mã sau:
Trong ví dụ này,
2 và
3 được so sánh với
8:
Cả hai chuỗi đều giống nhau về mặt từ điển, vì vậy hàm trả về
7. Ví dụ 2: Sử dụng so sánh()Chạy đoạn mã sau:
Trong ví dụ này,
7 được so sánh với
2:
Sau đó,
7 được so sánh với
3:
0 Đoạn mã này so sánh trực tiếp một chuỗi với một chuỗi đầu vào khác với hàm
8. 3. Toán tử quan hệ trong C++Các toán tử quan hệ trong C++ như
0 (bằng kép) và
1 (không bằng) có thể hữu ích trong việc so sánh các chuỗi. Toán tử quan hệ Cú phápKiểm tra xem hai giá trị có bằng nhau không:
1 Kiểm tra xem hai giá trị có khác nhau không:
2 Ví dụ 1: Sử dụng toán tử == trong C++Chạy đoạn mã sau:
3 Cung cấp giá trị cho \Chuỗi 1” và \Chuỗi 2”:
4 Mã này sẽ so sánh hai chuỗi với
0. Ví dụ 2: Sử dụng toán tử != của C++Chạy đoạn mã sau:
5 Cung cấp giá trị cho \Chuỗi 1” và \Chuỗi 2”:
6 Mã này sẽ so sánh hai chuỗi với
1. Phần kết luậnTrong bài viết này, bạn đã học các phương pháp so sánh chuỗi trong C++. Điều này bao gồm hàm
2 của
6, hàm
8 tích hợp sẵn và các toán tử quan hệ (
0,
1). |