So sánh 2 chuỗi trong c++ không cần thư viện năm 2024

Một chuỗi là một chuỗi các ký tự. Chuỗi C++ là một đối tượng của lớp std::string. Các ký tự là các chuỗi byte được lưu trữ với quyền truy cập vào một byte ký tự đơn được phép.

Chuỗi C++ phân bổ bộ nhớ một cách linh hoạt. Nhiều bộ nhớ hơn có thể được phân bổ cho chuỗi trong thời gian chạy nếu cần. Vì không có sự phân bổ trước bộ nhớ nên không lãng phí bộ nhớ. Chúng ta có thể thực hiện nhiều thao tác khác nhau trên chuỗi, bao gồm so sánh, nối, chuyển đổi, v.v.

Khai báo chuỗi

C++ hỗ trợ hai kiểu khai báo chuỗi:

  • Chuỗi ký tự kiểu C
  • Kiểu lớp chuỗi

Chuỗi ký tự kiểu C

Kiểu khai báo chuỗi này đã được giới thiệu trong Ngôn ngữ lập trình C. C++ tiếp tục hỗ trợ nó. Nó chỉ đơn giản là một mảng ký tự một chiều được kết thúc bằng ký tự null [\ 0]. Chuỗi kết thúc bằng null có các ký tự tạo thành chuỗi, sau đó là chuỗi rỗng.

Hãy xem xét khai báo chuỗi được đưa ra dưới đây:

char name[5] = {'J', 'o', 'h', 'n', '\0'};

Khai báo trên tạo ra một chuỗi tạo thành từ John. Từ này có 4 ký tự, nhưng chuỗi có kích thước là 5. Khoảng trống thừa cho phép giữ ký tự null.

Sử dụng quy tắc khởi tạo mảng, chúng ta có thể viết câu lệnh trên như sau:

char name[] = "John";

Lưu ý rằng bạn không cần phải đặt ký tự null ở cuối hằng chuỗi. Trình biên dịch C++ sẽ tự động đặt '\0' ở cuối chuỗi khi khởi tạo mảng.

std :: string

Thư viện C++ tiêu chuẩn cung cấp lớp chuỗi hỗ trợ các hoạt động chuỗi khác nhau. Nó được viết dưới dạng std::string.

Để sử dụng lớp này, trước tiên chúng ta phải đưa nó vào không gian làm việc của mình bằng cách sử dụng bộ tiền xử lý

include như dưới đây:

include

Tiếp theo, chúng ta có thể khai báo chuỗi của mình bằng từ khóa string. Ví dụ:

string name = "John";

Câu lệnh trên sẽ tạo một chuỗi có tên name để giữ giá trị John.

Truy cập các giá trị chuỗi

In C + +, chúng ta có thể truy cập các giá trị chuỗi bằng tên chuỗi. Ví dụ:

include

using namespace std; int main[] { char name[5] = { 'J', 'o', 'h', 'n', '\0' }; cout

Chủ Đề