Rate this post

Trong C++, string là một kiểu dữ liệu chuỗi cung cấp cho người dùng một cách để lưu trữ và truy xuất các chuỗi kí tự. Nó được cung cấp bởi thư viện STL (Standard Template Library) và có thể sử dụng như một đối tượng thông thường. Hôm nay các bạn hãy cùng W3seo tìm hiểu về Class String trong C++ và cách sử dụng.

Ví dụ:

#include <iostream>
#include <string>

int main() {
    // tạo một chuỗi
    std::string myString = "Hello, world!";

    // in ra chuỗi
    std::cout << myString << std::endl;

    // lấy độ dài của chuỗi
    std::cout << "String length: " << myString.length() << std::endl;

    // thay đổi một phần của chuỗi
    myString.replace(7, 5, "C++");

    // in ra chuỗi sau khi thay đổi
	std::cout << myString << std::endl;
  // tìm kiếm một chuỗi con trong chuỗi
    size_t found = myString.find("C++");
    if (found != std::string::npos) {
        std::cout << "Found substring at index: " << found << std::endl;
    } else {
        std::cout << "Substring not found" << std::endl;
    }

    // nối hai chuỗi
    std::string str1 = "Hello";
    std::string str2 = "World";
    std::string str3 = str1 + ", " + str2;
    std::cout << str3 << std::endl;

    return 0;
}

Với C++ string, bạn có thể thực hiện các thao tác chuỗi thông thường như tìm kiếm, thay đổi, nối và lấy độ dài của chuỗi, nó cung cấp các hàm tiện ích để quản lý và thao tác với chuỗi.

Chuỗi(String) trong C++

C++ có sẵn hai kiểu biểu diễn chuỗi như sau:

Chuỗi theo phong cách của ngôn ngữ C (C-style)

Chuỗi trong ngôn ngữ lập trình C thực chất là mảng một chiều của các ký tự kết thúc bởi một ký tự null (‘\0’). Điều này có nghĩa là bạn phải quản lý kích thước mảng sao cho nó lớn hơn hoặc bằng số ký tự trong chuỗi.

Ví dụ:

char loiChao[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
char loiChao[] = "Hello";

Bộ biên dịch C tự động thêm ký tự null (‘\0’) vào cuối chuỗi.

Lớp Chuỗi (String)

C++ cung cấp lớp string trong thư viện chuẩn (STL) để quản lý chuỗi một cách dễ dàng hơn. Lớp string cung cấp nhiều phương thức và tính năng cho việc làm việc với chuỗi, giúp bạn thực hiện các thao tác thường gặp trên chuỗi một cách thuận tiện hơn.

Ví dụ:

#include <string>
using namespace std;

string chuoi1 = "Hello";
string chuoi2 = "Christmas";
string chuoi3;

chuoi3 = chuoi1; // Sao chép chuỗi
chuoi3 = chuoi1 + chuoi2; // Nối hai chuỗi
int len = chuoi3.size(); // Lấy độ dài chuỗi

loại bỏ nhu cầu phải quản lý kích thước mảng và cung cấp nhiều phương thức tiện lợi cho xử lý chuỗi.

Trong quá trình học C++, bạn có thể sử dụng trình soạn thảo trực tuyến để kiểm tra code mà không cần mở một môi trường phát triển tích hợp trên máy.

Ưu điểm của string trong c++

Có nhiều ưu điểm khi sử dụng string trong C++:

  1. Tiện lợi: C++ string được cung cấp bởi thư viện STL, giúp cho việc lập trình chuỗi kí tự trở nên dễ dàng hơn.
  2. Tự động quản lý bộ nhớ: C++ string tự động quản lý bộ nhớ, có thể tự động mở rộng kích thước khi cần thêm kí tự mới và thu gọn kích thước khi xóa kí tự.
  3. Cung cấp các hàm tiện ích: C++ string cung cấp nhiều hàm tiện ích như tìm kiếm, thay đổi, nối và lấy độ dài của chuỗi, giúp cho việc quản lý và thao tác với chuỗi trở nên dễ dàng hơn.
  4. An toàn với bộ nhớ: C++ string được thiết kế với các thuộc tính an toàn với bộ nhớ, giúp tránh lỗi bộ nhớ trong quá trình lập trình.
  5. Tiêu chuẩn: C++ string là một kiểu dữ liệu chuẩn trong C++, được sử dụng rộng rãi trong các dự án lập trình.
  6. Hiệu suất t

Một số toán tử trong string trong c++

Trong C++, string cung cấp một số toán tử cho phép bạn thực hiện các thao tác với chuỗi. Một số toán tử thông dụng nhất là:

  1. Toán tử +: Sử dụng toán tử + để nối hai chuỗi với nhau. Ví dụ: string str1 = “Hello”; string str2 = “World”; string str3 = str1 + “, ” + str2;
  2. Toán tử +=: Sử dụng toán tử += để thêm một chuỗi vào cuối chuỗi hiện tại. Ví dụ: string str1 = “Hello”; str1 += ” World”;
  3. Toán tử [] : Sử dụng toán tử [] để truy cập tới một kí tự trong chuỗi. Ví dụ: string str1 = “Hello”; cout << str1[1];
  4. Toán tử == : So sánh hai chuỗi có bằng nhau hay không. Ví dụ: string str1 = “Hello”; string str2 = “World”; if (str1 == str2) { /* code */ }
  5. Toán tử <, >, <=, >= : So sánh hai chuỗi với nhau theo thứ tự từ A-Z. Ví dụ: string str1 = “Hello”; string str2 = “World”; if (str1 < str2) { /* code */ }
  6. Toán tử << : Sử dụng toán tử << để in ra màn hình chuỗi. Ví dụ: string str1 = “Hello”; cout << str1;

Chú ý rằng các toán tử này chỉ áp dụng cho chuỗi string của C++, các chuỗi của C thì

các toán tử trên không áp dụng, các chuỗi trong C thì sẽ phải sử dụng các hàm của thư viện chuỗi hoặc các hàm tự viết để thực hiện các thao tác với chuỗi, ví dụ như sử dụng hàm strcmp để so sánh hai chuỗi, hàm strcat để nối hai chuỗi với nhau.

Một số ví dụ sử dụng string trong c++

  1. Tạo và in ra màn hình chuỗi:
#include <iostream>
#include <string>

int main() {
    std::string myString = "Hello, world!";
    std::cout << myString << std::endl;
    return 0;
}
  1. Nối hai chuỗi với nhau:
#include <iostream>
#include <string>

int main() {
    std::string str1 = "Hello";
    std::string str2 = "World";
    std::string str3 = str1 + ", " + str2;
    std::cout << str3 << std::endl;
    return 0;
}
  1. Tìm kiếm một chuỗi con trong chuỗi:
#include <iostream>
#include <string>

int main() {
    std::string myString = "Hello, world!";
    size_t found = myString.find("world");
    if (found != std::string::npos) {
        std::cout << "Found substring at index: " << found << std::endl;
    } else {
        std::cout << "Substring not found" << std::endl;
    }
    return 0;
}
  1. Thay đổi một phần của chuỗi:
#include <iostream>
#include <string>

int main() {
    std::string myString = "Hello, world!";
    myString.replace(7, 5, "C++");
    std::cout << myString << std::endl;
    return 0;
}
  1. Lấy độ dài của chuỗi:
#include <iostream>
#include <string>

int main() {
    std::string myString = "Hello, world!";
    std::cout << "String length: " << myString.length() << std::endl;
    return 0;
}

Các ví dụ trên chỉ là một số ví dụ đơn giản về việc sử dụng chuỗi trong C++, bạn có thể tìm hiểu thêm các hàm và toán tử khác của chuỗi để sử dụng trong các dự án lập trình của mình.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now