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;
}
#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ả:
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
Đăng nhận xét