Chuyển đến nội dung chính

Bài 8. Xâu ký tự trong C++ (char)

 

Khái niệm

Trong C++, Xâu ký tự là tập hợp các ký tự dưới dạng mảng kết thúc bằng một ký tự null hoặc \0.

Khai báo

char chuoikytu[size] = {'v', 'i', 'd', 'u'};
hoặc
char chuoikytu[] = {'v', 'i', 'd', 'u'};
hoặc
char chuoikytu[] = "chuoi vi du";
hoặc
char chuoikytu[size];

Nhập Xuất

Để nhập vào một chuỗi bao gồm cả khoảng trắng ta sử dụng lệnh:
cin.get(chuoi_muc_tieu, do_dai_toi_da_cua_chuoi_do);

Ví dụ:


#include <bits/stdc++.h>
using namespace std;
int main() {
    char name[100];
    cin.get(name, 100);
    cout << name << endl;
}


Kết quả:



Để xuất từng ký tự ta sử dụng kết hợp vòng for như sau:

#include <bits/stdc++.h>
using namespace std;
int main() {
    char name[100];
    cin.get(name, 100);
    for(int i = 0; i < strlen(name); i++) {
        cout << name[i] << " ";
    }
}


Kết quả:


Do chuỗi bắt đầu từ vị trí 0 nên chạy đến strlen(name) - 1 (hay nhỏ hơn strlen(name)). Trong đó strlen(name) sẽ trả về độ dài của chuỗi name;
Một số hàm xử lí xâu C++:

Một số hàm xử lý xâu

strcpy(s1, s2)

Sao chép chuỗi s2 vào chuỗi s1
#include <bits/stdc++.h>
using namespace std;
int main() {
    char s2[] = "NT-CODER";
    char s1[];
    strcpy(s1, s2);
    cout << s1;
    system("pause");
}
Kết quả: NT-CODER

strcat(s1, s2) 

Nối chuỗi s2 vào chuỗi s1
#include <bits/stdc++.h>
using namespace std;
int main() {
    char s2[] = "NT-CODER";
    char s1[] = "NTELL";
    strcat(s1, s2);
    cout << s1;
    system("pause");
}
Kết quả: NTELLNT-CODER

strlen(s1) 

Trả về độ dài của chuỗi sl
#include <bits/stdc++.h>
using namespace std;
int main() {
    char s1[] = "NT-CODER";
    cout << strlen(s1);;
    system("pause");
}
Kết quả: 8

strcmp(s1, s2) 

Tả về 0 nếu s1 == s2, nhỏ hơn 0 nếu s1 < s2, lớn hơn 0 nếu s1 > s2
#include <bits/stdc++.h>
using namespace std;
int main() {
    char s2[] = "NT-CODER";
    char s1[] = "NTELL";
    cout << strcmp(s1, s2);
    system("pause");
}
Kết quả: 1

strchr(s1, ch) 

Tìm kiếm lần xuất hiện đầu tiên của ký tự ch trong chuỗi s1
#include <bits/stdc++.h>
using namespace std;
int main() {
    char s1[] = "NT-CODER";
    if(strchr(s1, '0')) {
        cout << "TRUE";
    } else {
        cout << "FALSE";
    }
    system("pause");
}
Kết quả: FALSE

strstr(s1, s2)

Trả về con trỏ tới vị trí đầu tiên của chuỗi s2 trong chuỗi s1
#include <bits/stdc++.h>
using namespace std;
int main() {
    char s1[] = "NT-CODER";
    if(strstr(s1, "0T")) {
        cout << "TRUE";
    } else {
        cout << "FALSE";
    }
    system("pause");
}
Kết quả: FALSE

strupr(s1)

Dùng để chuyển đổi chuỗi chữ thường thành chuỗi chữ hoa, kết quả trả về của hàm là một con trỏ chỉ đến địa chỉ chuỗi được chuyển đổi
#include <bits/stdc++.h>
using namespace std;
int main() {
    char s1[] = "NT-coder";
    strupr(s1);
    cout << s1;
    system("pause");
}
Kết quả: NT-CODER

strlwr(s1)

Chuyển đổi chuỗi chữ hoa thành chuỗi toàn chữ thường
#include <bits/stdc++.h>
using namespace std;
int main() {
    char s1[] = "NT-coder";
    strlwr(s1);
    cout << s1;
    system("pause");
}
Kết quả: nt-coder

strrev(s1)

Trả về một chuỗi  được đảo ngược
#include <bits/stdc++.h>
using namespace std;
int main() {
    char s1[] = "NT-CODER";
    cout << strrev(s1);
    system("pause");
}
Kết quả: REDOC-TN


Qua bài viết hôm nay, chắc hẳn bạn cũng đã hiểu về xâu ký tự trong C++, hãy tiếp tục những bài tiếp theo nhé.

Nhận xét

Bài đăng phổ biến từ blog này

Bài 5. Câu lệnh điều kiện trong C++ (if, switch)

  Để việc lập trình hiệu quả hơn hầu hết các Ngôn ngữ lập trình bậc cao đều có các câu lệnh rẽ nhánh và các câu lệnh lặp cho phép thực hiện các câu lệnh của chương trình không theo trình tự tuần tự như trong văn bản. Trong bài này, chúng ta sẽ tìm hiểu về những câu lệnh rẽ nhánh trong C++. Câu lệnh điều kiện if, if...else... Cú pháp: if (dieu_kien) {     khoi_lenh; } hoặc if (dieu_kien) {     khoi_lenh1; }  else {     khoi_lenh2; } hoặc if (dieu_kien) {     khoi_lenh1; }  else if (dieu_kien2) {     khoi_lenh2; } else {     khoi_lenh3; } Trong cú pháp trên if có 2 dạng: Có else. Không có else. dieu_kien là biểu thức logic có giá trị là true (khác 0) hoặc false (bằng 0). Khi chạy chương chình, dieu_kien sẽ được tính, nếu đúng, khoi_lenh1 sẽ được thực hiện . Ngược lại sẽ tiếp tục xét dieu_kien2 , nếu đúng sẽ thực hiện khoi_lenh2 . Ngược lại sẽ thực hiện khoi_lenh3. Ví dụ: # include < bits/stdc++.h >...

Bài 1. Giới Thiệu về ngôn ngữ lập trình C++

C++   là một loại ngôn ngữ lập trình bậc trung (middle-level). Đây là ngôn ngữ lập trình đa năng được tạo ra bởi  Bjarne Stroustrup  như một phần mở rộng của ngôn ngữ lập trình C, hoặc "C với các lớp Class",  Ngôn ngữ đã được mở rộng đáng kể theo thời gian và C ++ hiện đại có các tính năng:  Lập trình tổng quát. Lập trình hướng đối tượng. Lập trình thủ tục. Ngôn ngữ đa mẫu hình tự do có kiểu tĩnh.   D ữ liệu trừu tượng. Lập trình đa hình. Ngoài ra còn có thêm các tính năng, công cụ để thao tác với bộ nhớ cấp thấp . Từ thập niên 1990, C++ đã trở thành một trong những ngôn ngữ thương mại ưa thích và phổ biến của lập trình viên. Bjarne Stroustrup và logo ngôn ngữ C/C++ C++ được thiết kế hướng tới lập trình hệ thống máy tính và phần mềm nhúng trên các mạch vi xử lý, bao gồm cả hệ thống có tài nguyên hạn chế và tài nguyên khổng lồ , với ưu điểm vượt trội về hiệu s uất , hiệu quả và tính linh hoạt cao. Các phiên bản C++: Sau đây là bảng về độ thông dụng của...

Bài 7. Hàm trong C++

  Một hàm là một nhóm các câu lệnh cùng nhau thực hiện một nhiệm vụ. Mỗi chương trình C++ có ít nhất một hàm, là hàm main(). Hàm giúp cho code của trở nên ngắn gọn, dễ kiểm tra lỗi hơn . Một hàm có thể được gọi nhiều lần . Hàm phải được tạo ra trước khi gọi đến hoặc được khai báo trước đó. Định nghĩa hàm trong lập trình C++ bao gồm tên hàm và phần thân hàm . Dưới đây là tất cả các phần của hàm: Kieu_tra_ve Ten_ham(Danh sách tham số) {      Thân hàm  } Kieu_tra_ve : Một hàm có thể trả về một giá trị . Một số hàm thực hiện các hoạt động mong muốn mà k hông trả về một giá trị . Trong trường hợp này, từ khóa void thay thế cho kiểu trả về. Ten_ham : Đây là tên thực của hàm. Danh sách tham số : Một tham số giống như một trình giữ chỗ . Khi một hàm được gọi, bạn chuyển một giá trị cho tham số. Giá trị này được gọi là tham số hoặc đối số thực tế . Danh sách tham số tham chiếu đến loại, thứ tự và số tham số của hàm. Các tham số là tùy chọn; có nghĩa là, một hàm c...