Chuỗi Ký Tự Là Gì? Cách Khởi Tạo Và Một Số Kỹ Thuật Lập Trình Trên Chuỗi
Có thể bạn quan tâm
Chúng ta thường thấy mảng lưu trữ các giá trị kiểu số (int, float,…). Mảng cũng có thể lưu trữ các giá trị kiểu ký tự. Bài này sẽ giới thiệu cách khai báo, khởi tạo và kỹ thuật lập trình trên mảng ký tự.
1. Như thế nào là chuỗi ký tự?
Kiểu char chỉ chứa được một ký tự. Để lưu trữ một chuỗi ký tự (nhiều ký tự), ta sử dụng mảng (một chiều) các ký tự. Tức là, chuỗi ký tự (mảng ký tự) là mảng một chiều mà tất cả các phần tử trong mảng có kiểu ký tự (char).
Cú pháp khai báo
char <tên chuỗi >[<kích thước>];
Lưu ý: Mảng ký tự kết thúc bằng ký tự ‘\0’ (null). Do đó, độ dài chuỗi bằng kích thước mảng – 1.
Ví dụ
char hoten[30]; // Dài 29 ký tự char ngaysinh[9]; // Dài 8 ký tự
2. Khởi tạo chuỗi ký tự
Khởi tạo như khởi tạo mảng thông thường:
Chuỗi ký tự có độ dài xác định trước
char s[10] = {'T', 'H', 'C', 'S', ' ', 'A', '\0'}; char s[10] = "THCS A"; //tự động thêm ký tự null '\0'
Chuỗi ký tự tự động xác định độ dài
char s[] = {'T', 'H', 'C', 'S', ' ', 'A', '\0'}; char s[] = "THCS A"; //tự động thêm ký tự null '\0'
Lưu ý: Khai báo ký tự dùng cặp dấy nháy đơn. Khai báo chuỗi dùng cặp dấu nháy kép. Ví dụ:char ky_tu = 'a'; char chuoi[5] = "abc";
Nhập xuất chuỗi ký tự
Sử dụng lệnh cin để nhập mảng ký tự. Sử dụng lệnh cout để xuất mảng ký tự.char cChuoi[10]; cin >> cChuoi; cout << cChuoi;
Nhập mảng ký tự bằng lệnh cin chỉ nhận các ký tự từ bàn phím đến khi gặp ký tự khoảng trắng hoặc ký tự xuống dòng.#include <iostream> using namespace std; int main() { char arCh[50]; cout<<"Input character sequences:"; cin>>arCh; cout<<"Character sequences received:"; cout<<arCh; system("pause"); }
Kết quả
Input character sequences:introduction to programming character sequences received:introductionRõ ràng, chuỗi nhập vào chỉ nhận được “introduction”, từ khoảng trắng trở về sau không nhận được. Để khắc phục, ta sử dụng lệnh cin.getline(<tên biến chuỗi>, <số ký tự nhận được>);. Từ đây về sau, khi nhập chuỗi nên dùng lệnh cin.getline.#include <iostream> using namespace std; int main() { char arCh[50]; cout<<"Input character sequences:"; cin.getline(arCh,50); cout<<"Character sequences received:"; cout<<arCh; system("pause"); }
Kết quả
Input character sequences:introduction to programming Character sequences received:introduction to programming3. Các hàm xử lý chuỗi ký tự
Ngôn ngữ C++ cung cấp nhiều hàm cho việc thao tác với chuỗi. Dưới đây là một số hàm xử lý chuỗi thường dùng:
Hàm strlen(char s[])
Trả về chiều dài chuỗi schar cLine[40] = "Have a nice day!"; int iLength; iLength = strlen(cLine);//16
Hàm strcat(char s1[], char s2[])
Nối chuỗi s2 vào cuối chuỗi s1.char str1[25] ="Hello "; char str2[11] = "World"; strcat(str1,str2);//Hello World
Hàm cin.ignore(int n, char ch)
Bỏ qua n ký tự trước khi gặp ký tự ch trong bộ nhớ đệm. Thường dùng trước lệnh cin.getline().cin.ignore(200,'\n');
Hàm cin.getline(char s[], int n)
Đọc từ 1 tới n ký tự và lưu vào s.char cLine[50]; cin.getline(cLine,50);
Hàm isalpha(char ch)
Kiểm tra giá trị trong ch có phải là chữ cái hay không.
Hàm isdigit(char ch)
Kiểm tra giá trị trong ch có phải chữ số hay không.
Hàm isspace(char ch)
Kiểm tra giá trị trong ch có phải khoảng trắng hay không.
Hàm strlwr(char s[])
Đổi tất cả ký tự của s sang chữ thường.
Hàm strupr(char s[])
Đổi tất cả ký tự của s sang chữ hoa.
Hàm strcmp(char s[], char t[])
So sánh 2 chuỗi s và t, trả về giá trị âm nếu s<t, 0 nếu s bằng t, giá trị dương nếu s>t.
Hàm strcpy(char s[], char t[])
Gán nội dung của chuỗi t cho chuỗi s.
- Các loại hàm khởi tạo (constructor) của lớp trong Java
- Cài đặt Dev-C++ để lập trình C++
- Giới thiệu môn học Ngôn ngữ lập trình Python
- Session là gì? Sử dụng session trong PHP
- Một số kỹ thuật lập trình với kiểu dữ liệu cấu trúc (struct) trong C++
Từ khóa » Trong C++ Các Biến Kiểu Ký Tự Gồm
-
Kiểu Ký Tự Trong C++ Là Gì? (Phần 1) - CodeLearn
-
Kiểu Ký Tự Trong C++ (Character) | How Kteam
-
4.1 Kiểu Kí Tự - Khóa Học C++
-
Các Kiểu Dữ Liệu Trong C++ Và Cách Khai Báo - Freetuts
-
[Tự Học C++] Giới Thiệu Về Kiểu Dữ Liệu Char Trong C++ - Cafedev
-
[Lập Trình C++ Cơ Bản] Bài 3: Kiểu Dữ Liệu, Hằng Và Biến. Câu Lệnh ...
-
Nhập Chuỗi Trong C++
-
Ký Tự đặc Biệt Trong C++ - Học Lập Trình C++ Online - Viettuts
-
Sự Khác Biệt Giữa Char S
-
Các Kiểu Dữ Liệu Trong Lập Trình C/C++ (Data Type) | TopDev
-
Xâu Ký Tự Trong C++
-
Xâu Trong C++ - VNOI
-
Kiểu Dữ Liệu Trong C/C++
-
Kiểu Và Khai Báo Biến Trong C – Wikipedia Tiếng Việt