Lập trình C++ / C# — August 23, 2016 at 2:48 am

Tìm hiểu chuỗi trong lập trình C++

by

Ở bài viết này chúng ta sẽ cùng nhau tìm hiểu về khái niệm chuỗi trong lập trình C++. Tuy đây là những kiến thức cơ bản nhưng nếu không nắm được kỹ bạn sẽ rất khó khăn khi viết chương trình xử lý chuỗi phức tạp.

Chuỗi:

Trong lập trình , chuỗi là một dãy các kí tự.  Chuỗi được diễn tả bằng một dãy các kí tự đặt trong cặp ngoặc kép, ví dụ như “Hello World!”, “Windybook.com”, “Le Thanh Khang”…

Khai báo chuỗi:

Trong C++, chuỗi được định nghĩa sẵn với từ khoá là string .

string myString = “Hello World”;

Xử lý chuỗi:

C++ xây dựng sẵn các hàm thao tác với chuỗi. Để sử dụng các hàm này, ta khai báo:

#include <string>

Nhập xuất chuỗi:

Để nhập xuất chuỗi, ta dùng các lệnh cin , cout tương tự như các kiểu dữ liệu khác.

Ví dụ: viết chương trình nhập tên người dùng. Sau đó, in ra lời chào.

#include <iostream>
#include <string>
using namespace std ;
int main()
{
  string name;
  cout << “What is your name? “;
  cin>>name ;
  cout << “Hello, “ << name << endl ;
}

Cụ thể, với chương trình trên, nến bạn nhập vào chuỗi “Ninh Lê” thì kết quả in ra màn hình chỉ là “Ninh” .

Để nhập chuỗi có khoảng trắng, ta dung lệnh getline như sau :

#include <iostream>
#include <string>
using namespace std ;
int main()
{
  string name;
  cout << “What is your name? “;
  getline(cin,name);
  cout << “Hello, “ << name << endl ;
}

Lấy chiều dài chuỗi:

Ta sử dụng 2 hàm là size() hoặc length() để lấy chiều dài chuỗi.

Ví dụ: viết chương trình nhập tên người dùng, In ra độ dài của tên.

#include <iostream>
#include <string>
using namespace std ;
int main()
{
  string name;
  cout << “What is your name? “;
  getline(cin,name);
  cout << “The length of your name is: “ << name.size() << endl ;
  cout << “The size of your name is: “ << name.size() << endl ;
}

Truy cập một phần tử bất kỳ trong chuỗi:

Chuỗi thực chất là một mảng các phần tử kiểu char. Do đó, ta có thể truy xuất các phần tử trong chuỗi tương tự như truy xuất với mảng thông thường.

Ví dụ: Viết chương trình nhập tên người dùng. Sau đó, in ra các kí tự của tên người dùng trên từng dòng một.

#include <iostream>
#include <string>
using namespace std ;
int main()
{
  string name;
  cout << “What is your name? “;
  getline(cin,name);
  for(int i = 0 ; i < name.size() ; i++) {
   cout << name[i]<< endl ;
  }
}

Ghép chuỗi:

Để ghép chuỗi, ta dùng phép toán “+” .

Ví dụ: Viết chương trình nhập lần lượt họ và tên vào 2 chuỗi firstname và lastname khác nhau. Sau đó, ghép 2 chuỗi này vào chuỗi là fullname.

#include <iostream>
#include <string>
using namespace std ;
int main()
{
  string firstname , lastname , fullname ;
  
    cout << “What is your firstname name? “;
    getline(cin,firstname);
    
    cout << “What is your lastname name? “;
    getline(cin,lastname);
    
    // ghép chuỗi
    fullname = firstname + ” “ + lastname ;
    cout<<“Your fullname is: “ <<fullname ;
}

Chèn chuỗi:

Để chèn chuỗi trong C++, ta dùng hàm insert theo cấu trúc sau:

insertpositon  ,  str  ) ;

Trong đó:

position là vị trí cần chèn  ( kiểu int ).

str là chuỗi cần chèn (kiểu string hoặc char) .

Ví dụ: Chèn chuỗi “lap trinh” vào chuỗi “Hoc that de” để tạo thành chuỗi “Hoc lap trinh that de”.

#include <iostream>
#include <string>
using namespace std ;
int main()
{
  string myString = “Hoc that de” ;  
  myString.insert(4, “Lap trinh “) ;  
  // vị trí cần chèn vị trí khoảng trắng đầu tiên bên position = 4
  
  cout<<myString ;
}

Xoá chuỗi:

Để xoá chuỗi trong C++, ta dùng hàm erase theo cấu trúc sau:

erase ( positon  ,  number  ) ;

Trong đó:

position là vị trí cần xoá  ( kiểu int ).

number là số kí tự cần xoá (kiểu int) .

Ví dụ: Xoá chuỗi “Khong” trong chuỗi “Khong thich hoc lap trinh” để tạo thành chuỗi “thich hoc lap trinh” .

#include <iostream>
#include <string>
using namespace std ;
int main()
{
  string myString = “Khong thich hoc lap trinh” ;  
  myString.erase( 0 , 6 ) ;  
  // vị trí cần xoá là vị trí 0 và số lượng kí tự cần xoá là 6
  
  cout<<myString ;
}

Trên đây chúng tôi đã chia sẻ với các bạn những căn bản về chuỗi trong lập trình C++. Hy vọng sẽ giúp các bạn trong quá trình học tập. Chúc các bạn học tốt

Xin cảm ơn!

Nguồn: windybook

 

Leave a Comment

Your email address will not be published. Required fields are marked *