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

Cài đặt C++ trên Sublime Text

Sublime Text  là một phần mềm soạn thảo code đang được rất nhiều nhà lập trình viên sử dụng bởi các tính năng cũng như hiệu năng mà nó mang lại. Không những nó vừa nhẹ, vừa gọn, vừa nhanh mà nó còn hỗ trợ rất nhiệu như plugins, snippets, code auto complete, highlight beautiful, tùy biến giao diện, phím tắt, và rất nhiều thứ khác nữa. Link tải Sublime Text:   Sublime Text - Text Editing, Done Right Link tải MinGW:   MinGW - Minimalist GNU for Windows - Browse /Installer at SourceForge.net Cài g++ và gdb: Bước 1 : Chọn mingw32-gcc-g++ ở mục Basic Setup Chọn mingw32-gdb ở mục All Packges. Bước 2 : Bấm Installation  chọn Update Catalogue và chọn Review Changes chọn Apply  đợi quá trình cài đặt. Bước 3 : Tìm đến thư mục C:\MinGW\bin  và copy link. Bước 4 : Phải chuột bảng chọn Start chọn Hệ Thống sau đó chọn vào Thiết lập hệ thống chuyên sâu Bước 5 : Chọn Environment Variables... Bước 6 : Ở phần Path bấm và chọn edit . Bước 7 : Nhấn chọn New và dán link v...

Cài đặt C++ trên Visual Studio Code

  Để code C++, có rất nhiều IDE, Editor mà ta có thể sử dụng. Một số phổ biến như: Visual Studio, Code::Block hay DevC++, … Tuy nhiên, Visual Studio thì khá nặng, và chiếm nhiều không gian bộ nhớ; Code::Block, DevC++, … thì rất nhẹ và còn đi kèm cả compiler nữa, nhưng giao diện lại hơi “kém sang”. Bài viết hôm nay sẽ hướng dẫn bạn cài đặt môi trường C++ trên Visual Studio Code. Link VS studio code:   Visual Studio Code - Code Editing. Redefined Link tải MinGW:   MinGW - Minimalist GNU for Windows - Browse /Installer at SourceForge.net Cài đặt g++ và gdb: Bước 1 : Sau khi tải và cài đặt MinGW mở MinGW và chọn  mingw32-gcc-g++  ở mục  Basic Setup Chọn  mingw32-gdb  ở mục  All Packges. Bước 2 : Bấm  Installation  chọn  Update Catalogue  và chọn  Review Changes  chọn  Apply  đợi quá trình cài đặt. Bước 3 : Tìm đến thư mục  C:\MinGW\bin  và copy link. Bước 4 : Phải chuột bảng chọn  Start ...