Title Image

Blog Logo

🌱 C++ String - Chuỗi trong C++

🌱 C++ String - Chuỗi trong C++

Trong C++, String - chuỗi là một tập hợp các ký tự sắp xếp liên tiếp nhau trên bộ nhớ.

    C++ hỗ trợ 2 kiểu String.

  • Sử dụng String Object trong String Class của thư viện STL C++
  • C-style String

    👉 C-style String

    Trong C, tập hợp các ký tự có thể được lưu trữ trong một mảng. C++ cũng hỗ trợ cách lưu trữ này, nên được gọi là C-style String, đó là một mảng các kiểu dữ liệu char, và kết thức bằng ký tự null '\0'.

char str[] = "C++";

    Chuỗi str ở trên chứa 4 ký tự, 3 ký tự là 'C' - '+' - '+', và 1 ký tự '\0' tự động được thêm vào ở cuối của chuỗi.

    🔻 Một số cách khác để khai báo chuỗi bằng mảng,

char str[4] = "C++";
     
char str[] = {'C','+','+','\0'};

char str[4] = {'C','+','+','\0'};

    🔻 Ví dụ in ra mảng do người dùng nhập vào

#include <iostream>
using namespace std;

int main()
{
    char str[100];

    cout << "Enter a string: ";
    cin >> str;
    cout << "You entered: " << str << endl;

    cout << "\nEnter another string: ";
    cin >> str;
    cout << "You entered: "<<str<<endl;

    return 0;
}

    Run This Code    

    ➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau.

Enter a string: C++
You entered: C++

Enter another string: Programming is fun.
You entered: Programming

     Lần nhập thứ 2 chỉ in ra chuỗi "Programming" thay vì "Programming is fun". Lý do là toán tử >> để nhập các ký tự sẽ xem dấu cách là kết thúc việc nhập.

    🔻 Ví dụ nhập vào chuỗi có dấu cách

#include <iostream>
using namespace std;

int main()
{
    char str[100];
    cout << "Enter a string: ";
    cin.get(str, 100);

    cout << "You entered: " << str << endl;
    return 0;
}

    Run This Code    

    ➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau.

Enter a string: Programming is fun.
You entered: Programming is fun.

    Để đọc ký tự dấu cách, trong C++ sẽ sử dụng hàm cin.get(). Hàm này có 2 đối số.

  • Đối số đầu tiên - tên của chuỗi (địa chỉ của ký tự đầu tiên)
  • Đối số thứ hai - số lượng phần tử tối đa được nhập vào

    Việc nhập các ký tự từ bàn phím sẽ kết thúc bởi dấu xuống dòng - enter.

    👉 String Object trong C++

    Trong C++ hỗ trợ String Object để lưu trữ chuỗi, khác với mảng, String Object không cố định về độ dài nên sẽ linh hoạt hơn.

    🔻 Ví dụ sử dụng

#include <iostream>
using namespace std;

int main()
{
    // Declaring a string object
    string str;
    cout << "Enter a string: ";
    getline(cin, str);

    cout << "You entered: " << str << endl;
    return 0;
}

    Run This Code    

    ➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau.

Enter a string: Programming is fun.
You entered: Programming is fun.

    Với chương trình trên, một chuỗi str được khởi tạo, đối với kiểu dữ liệu này, cần phải sử dụng hàm getline() thay vì cin >> hay cin.get(). Hàm getline() có 2 đối số.

  • Đối số đầu tiên - cin
  • Đối số thứ hai - tên của chuỗi (địa chỉ của ký tự đầu tiên)

>>>= Follow ngay =<<<

Để nhận được những bài học miễn phí mới nhất nhé 😊

Chúc các bạn học tập tốt 😊

                                        

Đăng nhận xét

0 Nhận xét