Các Hàm Xử Lý Chuỗi Trong Lập Trình C - Khuê Nguyễn
Có thể bạn quan tâm
Xử lý chuỗi là một công việc bắt buộc khi truyền nhận dữ liệu trong lập trình. Trong bài này chúng ta sẽ học cách sử dụng các hàm xử lý chuỗi nhé.
Bài 18 trong Serie Học lập trình C từ A tới Z
Table of Contents
- Các hàm xử lý chuỗi trong c
- Hàm strlen()
- Hàm strcpy()
- Hàm Strcat()
- Hàm strcmp()
- Hàm strstr()
- Hàm strupr()
- Hàm strlwr
- Hàm strrev()
- Kết
Các hàm xử lý chuỗi trong c
Có rất nhiều phương thức xử lý chuỗi quan trọng được định nghĩa trong thư viện <string.h>.
No. | Phương thức | Mô tả |
---|---|---|
1. | strlen(string_name) | trả về chiều dài của chuỗi string_name. |
2. | strcpy(destination, source) | sao chép nội dung của chuỗi source tới chuỗi destination. |
3. | strcat(first_string, second_string) | nối chuỗi đầu tiên với chuối thứ hai. Kết quả được lưu vào chuỗi đầu tiên. |
4. | strcmp(first_string, second_string) | so sánh chuỗi đầu tiên với chuỗi thứ hai. Nếu cả hai chuỗi đều giống nhau, nó sẽ trả về 0. |
5. | strrev(string) | trả về chuỗi được đảo ngược. |
6. | strlwr(string) | trả về chuỗi ký tự chữ thường. |
7. | strupr(string) | trả về chuỗi ký tự chữ hoa. |
Hàm strlen()
Hàm strlen() trả về chiều dài của chuỗi, nó không đếm ký tự null ‘\0’.
Cú pháp:
int strlen(const char* s)
Cách dùng:
#include<stdio.h> #include <string.h> int main(){ char ch[20]={'h', 'i', 'e', 'p', 's', 'i', 'i', 't', '.', 'c','o','m', '\0'}; printf("Length of string is: %d",strlen(ch)); return 0; }Kết quả
Length of string is: 12
Hàm strcpy()
Sao chép nội dung của chuỗi source tới chuỗi destination. Đây là một hàm rất quan trọng khi xử lý chuỗi
Cú pháp:
char *strcpy(char *destination, const char *source)
Cách dùng:
#include<stdio.h> #include <string.h> int main(){ char ch[20]={'k', 'h', 'u', 'e', 'n', 'g', 'u', 'y', 'e', 'n','\0'}; char ch2[20]; strcpy(ch2,ch); printf("Gia tri chuoi thu 2 la: %s",ch2); return 0; }Kết quả
Gia tri chuoi thu 2 la: khuenguyen
Hàm strcpy chỉ sao chép dữ liệu từ mảng B[ ] sang mảng A[ ], nếu mảng A[ ] có kích thước nhỏ hơn mảng B[ ]thì sẽ xảy ra việc tràn dữ liệu của mảng A[ ].
Hàm Strcat()
Dùng để nối 2 chuỗi. Kết quả được lưu vào chuỗi đầu tiên.
Cú pháp:
char *strcat(char *des, const char *source)
Cách dùng
#include<stdio.h> #include <string.h> int main(){ char ch[10]={'h', 'e', 'l', 'l', 'o', '\0'}; char ch2[10]={' ', 'a','n','h',',' 'e','m','\0'}; strcat(ch,ch2); printf("Gia tri cua chuoi dau tien la: %s",ch); return 0; }Kết quả
The value of the first string is: hello anh em
Hàm strcmp()
Dùng để so sánh hai chuỗi với nhau. Hàm sẽ so sánh hai chuỗi với nhau và trả về các giá trị tương ứng.
Ta có 2 mảng s1[] và s2[]
- Nếu s1[] > s2[], kết quả trả về là 1
- Nếu s1[] == s2[], kết quả trả về là 0
- Nếu s1[] < s2[], kết quả trả về là -1
Cú pháp:
int strcmp(const char*s1, const char *s2)Cách dùng:
#include<stdio.h> #include <string.h> int main(){ char str1[20],str2[20]; printf("Nhap chuoi 1: "); gets(str1);//reads string from console printf("Nhap chuoi 2: "); gets(str2); if(strcmp(str1,str2)==0) printf("2 chuoi bang nhau"); else printf("2 chuoi khong bang nhau"); return 0; }Kết quả
Nhap chuoi 1 : hello Nhap chuoi 2 : hello 2 chuoi bang nhaHàm strstr()
Dùng để tìm kiếm sự xuất hiện đầu tiên của chuỗi s2 trong chuỗi s1.
Cú pháp:
char *strstr(const char *s1, const char *s2)
Kết quả trả về của hàm là một con trỏ chỉ đến phần tử đầu tiên của chuỗi s1 có chứa chuỗi s2 hoặc giá trị NULL nếu chuỗi s2 không có trong chuỗi s1.
Cách dùng:
#include<conio.h> #include<stdio.h> #include<string.h> void main() { char Chuoi[255],*s; printf("Nhap chuoi: "); gets(Chuoi); s=strstr(Chuoi,"hoc"); printf("Chuoi trich ra: "); puts(s); getch(); }Kết quả
Nhap chuoi: chuc cac ban hoc tap tot Chuoi trich ra: hoc tap totHàm strupr()
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.
Cú pháp:
char *strupr(char *s)
Cách dùng:
#include<stdio.h> #include <string.h> int main(){ char str[20]; printf("Nhap chuoi: "); gets(str);//reads string from console printf("Chuoi vua nhap: %s",str); printf("\nChuyen sang chu hoa: %s",strupr(str)); return 0; }Kết quả
Nhap chuoi: khue nguyen creator Chuoi vua nhap: khue nguyen creator Chuyen sang chu hoa: KHUE NGUYEN CREATORHàm strlwr
Muốn chuyển đổi chuỗi chữ hoa thành chuỗi toàn chữ thường, ta sử dụng hàm strlwr(), các tham số của hàm tương tự như hàm strupr().
Cú pháp:
char *strlwr(char *s)
Cách dùng:
#include<stdio.h> #include <string.h> int main(){ char str[20]; printf("Nhap chuoi: "); gets(str);//reads string from console printf("Chuoi vua nhap: %s",str); printf("\nChuyen sang chu thuong: %s",strlwr(str)); return 0; }Kết quả
Nhap chuoi: KHUE NGUYEN creator Chuoi vua nhap: KHUE NGUYEN creator Chuyen sang chu thuong: khue nguyen creatorHàm strrev()
Hàm strrev(string) trả về một chuỗi được đảo ngược
Cách dùng:
#include<stdio.h> #include <string.h> int main(){ char str[20]; printf("Nhap vao mot chuoi: "); gets(str);//reads string from console printf("Chuoi la: %s",str); printf("\nChuoi bi dao nguoc la: %s",strrev(str)); return 0; }Kết quả
Nhap vao mot chuoi: khue nguyen creator Chuoi la: khue nguyen creator Chuoi bi dao nguoc la: rotaerc neyugn euhkKết
Sử dụng các hàm xử lý chuỗi cũng rất đơn giản, chúng được cung cấp sẵn trong thư viện string, chúng ta chỉ cần lấy ra và sử dụng mà thôi.
Nếu thấy có ích hãy chia sẻ bài viết và tham gia nhóm Nghiện Lập Trình để giao lưu và học hỏi nhé
5/5 - (1 bình chọn)Từ khóa » Tách Từng Từ Trong Một Chuỗi C
-
Tách Chuỗi Trong C (strtok)
-
Tách Các Từ Trong Chuỗi [Archive] - Diễn Đàn Tin Học
-
[C++ Cơ Bản] Tách Các Từ Trong Một Chuỗi | Thào A Vảng - YouTube
-
C - Bài Tập 5.11: Tách Và In Ra Các Từ Trong Câu Theo Thứ Tự Ngược Lại
-
Tách Từ Ra Khỏi Chuỗi Và đưa Vào Mảng Trong Lập Trình C?
-
Lập Trình C: Hàm Xử Lý Chuỗi (String) | V1Study
-
Tách Chuỗi Thành Các Từ Riêng Lẽ? - UIT - Forum
-
Bài Toán Tách Từ Với String Của STL C++ - ItLab Code Runner
-
Làm Sao để Có Thể Tách Từng Từ Trong Xâu Của Mảng Các Xâu
-
Thắc Mắc Về Chương Trình Tách Tên Và Họ Lót Trong C - Dạy Nhau Học
-
Java - Tách Các Từ Có Trong Chuỗi Và Hiển Thị Mỗi Từ Trên 1 Dòng.
-
Phân Tích Cú Pháp (tách) Một Chuỗi Trong C ++ Bằng Cách Sử Dụng ...
-
Làm Thế Nào để đếm Các Từ Trong Một Chuỗi? - Banhoituidap
-
Strtok Trong C++ - Techacademy
-
Bài 62. Bài Tập Chuỗi Trong C Có Lời Giải - Lập Trình Không Khó
-
Lập Trình Căn Bản C: Tách Họ, Chữ Lót, Tên Từ Chuỗi Họ Tên
-
Một Số Bài Tập Về Chuỗi Kí Tự Trong C++ CÁCH GIẢI ...