So sánh hai string trong vs c năm 2024

Tùy chọn. Xác định kiểu so sánh chuỗi. Nếu so sánhtham đối là null, lỗi xảy ra. Nếu so sánh được bỏ qua, tùy chọn so sánh thiết đặt sẽ xác định kiểu so sánh.

Thiết đặt

Các thiết đặt so sánh đối số là:

Hằng số

Giá trị

Mô tả

vbBinaryCompare

0

Thực hiện so sánh nhị phân.

so sánh vbtext

1

Thực hiện so sánh văn bản.

vbDatabaseCompare

2

chỉMicrosoft Office Access 2007. Thực hiện so sánh dựa trên thông tin trong cơ sở dữ liệu của bạn.

Giá trị trả về

Hàm Strcomp có các giá trị trả về sau:

If

Trả về strcomp

string1 nhỏ hơn string2

-1

string1 bằng string2

0

string1 lớn hơn string2

1

string1 hoặc string2 là null

Null

Ví dụ về truy vấn

Biểu thức

Kết quả

CHỌN ProductSales. ProductID, StrComp (ProductID, "PRO_XYZ10") như ComparisonResult từ ProductSales;

Trả về các giá trị từ trường "ProductID", so sánh các giá trị trong "ProductID" với "PRO_XYZ1" và trả về kết quả trong sánh theo cột. "ProductID" bằng "PRO_XYZ10", hàm StrComp sẽ trả về 0. Nếu "ProductID" nhỏ hơn "PRO_XYZ10", hàm StrComp sẽ trả về-1. Nếu "ProductID" lớn hơn "PRO_XYZ10", hàm StrComp sẽ trả về 1. Nếu một trong hai "ProductID" hoặc "PRO_XYZ10" là NULL, hàm StrComp sẽ trả về NULL.

Ví dụ về VBA

Lưu ý: Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA).

Ví dụ này sử dụng hàm Strcomp để trả về kết quả so sánh chuỗi. Nếu đối số thứ ba là 1, thì một so sánh văn bản được thực hiện; Nếu đối số thứ ba là 0 hoặc bỏ qua, một so sánh nhị phân được thực hiện.

________0

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

string cung cấp một phương pháp so sánh khác phức tạp hơn nhưng cũng hiệu quả hơn. Chúng ta có thể sử dụng nó nếu chúng ta có một số kiến ​​thức cơ bản về cách các mà các đối tượng thao tác trên dữ liệu của chúng. Đây sẽ là một bài giới thiệu tốt để thực hành phong cách lập trình hướng đối tượng.

Trong cách tiếp cận cổ điển, chúng ta thường có một số dữ liệu và một bộ các hàm hoạt động trên dữ liệu. Chúng ta đã quen với cách xử lý dữ liệu như sau :

function(data);

Trong cách tiếp cận hướng đối tượng, chúng ta sử dụng thuật ngữ khác nhau. Cả dữ liệu và các hàm đều được nhúng vào trong cái gọi là đối tượng. Dữ liệu là thuộc tính của đối tượng (hoặc gọi biến thành viên), và các hàm là các phương thức của đối tượng (hoặc gọi các hàm thành viên). Chúng ta sẽ sớm trở lại các thuật ngữ này và giải thích chi tiết hơn về ý nghĩa của chúng.

Nếu chúng ta muốn một phương thức cụ thể (hàm thành viên) để xử lý dữ liệu nhúng trong một đối tượng, chúng ta gọi hàm thành viên của đối tượng như sau:

object.member_function ();

Hãy bắt đầu bằng một ví dụ rất đơn giản. Chúng ta sẽ viết lại chương trình kiểm tra mật khẩu để cho bạn thấy một trong số rất nhiều hàm thành viên tồn tại trong mỗi đối tượng string. Hàm thành viên được gọi là ở đây có tên là compare và tên của nó đã nói lên mục đích của nó rồi: nó được thiết kế để so sánh một chuỗi với một chuỗi khác. Hàm này trả về 0 (zero) nếu các chuỗi giống hệt nhau.

Hãy xem chương trình bên phải →

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

include <iostream>

include <string>

using namespace std;

int main(void)

{

string secret \= "abracadabra";

string password;

cout << "Enter password:" << endl;

getline(cin,password);

if(secret.compare(password) \== 0) {

cout << "Access granted" << endl;

}

else {

cout << "Sorry";

}

return 0;

}

Chúng ta đã thay thế sự xuất hiện của toán tử == với tính năng so sánh bằng một hàm tương đương. Bây giờ hãy quan sát thật kỹ. Lưu ý biểu thức:

secret.compare(password)

Nó gọi hàm thành viên có tên là compare của đối tượng secret để so sánh chuỗi được lưu trữ trong secret chuỗi được lưu trữ trong password. Chúng cũng ta có thể viết biểu thức này theo cách sau:

password.compare(secret)

mà không thay đổi hành vi của chương trình


Tất nhiên, các khả năng của hàm thành viên compare không dừng lại ở việc kiểm tra sự đồng nhất của các chuỗi. Nó cũng có thể tìm ta tất cả các mối quan hệ giữa hai chuỗi. Đây là cách mà nó hoạt động:

  • str1.compare(str2) == 0 nếu str1 == str2
  • str1.compare(str2) > 0 nếu str1 > str2
  • str1.compare(str2) < 0 nếu str1 < str2

Một lần nữa, chúng ta hãy viết lại một trong những chương trình ở trang trước trước của chúng ta theo phương pháp mới này →