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.
- Khái niệm hàm (function) trong lập trình và minh họa với C++
- Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết
- Kỹ thuật lập trình truyền con trỏ cho hàm trong C++
- Ghi (write) file XML với Python
- Quản lý bộ nhớ trong Java: bộ nhớ stack và bộ nhớ heap
Từ khóa » Cách Sử Dụng String Trong Arduino
-
Xử Lý Chuỗi Trong Arduino | Cộng đồng Arduino Việt Nam
-
String | Cộng đồng Arduino Việt Nam
-
Hàm String Trong Arduino - ĐIỆN TỬ TƯƠNG LAI
-
Chuyển Từ Int Sang String Và String Sang Int Trong Arduino
-
String Là Gì? Chi Tiết Các Hàm Trong String. - Lập Trình Arduino
-
Arduino - Chuỗi - Dongthoigian
-
Bài 6 Hưỡng Dẫn Tự Học ESP8266. Phần 2 Xử Lý String Cho ...
-
So Sánh Chuỗi Trong Arduino - Học Tốt
-
String Là Kiểu Dữ Liệu Gì - Cẩm Nang Hải Phòng
-
Lập Trình C: Hàm Xử Lý Chuỗi (String) | V1Study
-
Tự Học Arduino
-
Sử Dụng Kiểu Dữ Liệu String Trong Python - Góc Học IT
-
Sử Dụng Serial Monitor để Giao Tiếp Giữa Arduino Và PC - Viblo