Xem mẫu
- KỸ THUẬT LẬP TRÌNH C
BÀI 8: CHUỖI KÝ TỰ VÀ TẬP TIN
Hoàng Quốc Tuấn
tuanhq@fpt.edu.vn
http://hoangquoctuanpro.wordpress.com
- Nội dung
Chuỗi ký tự
Tập tin
2
- I – Chuỗi ký tự
1. Khái niệm
2. Cách thao tác trên chuỗi ký tự
3
- 1 – Khái niệm
1. Một số khái niệm cơ bản
2. Một số điểm cần lưu ý
3. Ví dụ minh họa
4
- 1.1 – Khái niệm
Trong C, chuỗi ký tự là một dãy các ký tự đặt
trong cặp dấu nháy kép “”.
Chuỗi rỗng được ký hiệu là “” (hai dấu nháy kép
liền nhau).
Khi khai báo một chuỗi ký tự, hệ thống sẽ cấp
phát bộ nhớ cho một mảng kiểu char đủ lớn để
chứa các ký tự của chuỗi và chứa thêm một ký tự
null (‘\0’).
Ký tự ‘\0’ là ký tự kết thúc chuỗi.
5
- 1.2 – Một số điểm cần lưu ý
Mỗi ký tự của chuỗi là một phần tử của mảng.
Ký tự kết thúc chuỗi là ký tự null, có mã ASCII
là 0, ký hiệu là ‘\0’.
Chuỗi được bao bọc bởi cặp dấu nháy kép, còn
ký tự thì bao bọc bởi cặp dấu nháy đơn.
“a” là chuỗi ký tự, 2 bytes, gồm ‘a’ và ‘\0’.
‘a’ là ký tự, 1 byte.
6
- 1.3 – Ví dụ minh họa
#include
void main()
{
char chuoi[] = “HELLO”;
printf(“Chuoi la: %s”, chuoi);
printf(“\nCac ky tu la:”);
for(int i=0;i
- 2 – Cách thao tác trên chuỗi ký tự
1. Một số hàm thông dụng thuộc string.h
2. Các hàm nhập xuất chuỗi thuộc stdio.h
8
- 2.1 – Các hàm thông dụng thuộc string.h
Trong C, không tồn tại các phép toán so sánh
chuỗi, hay gán chuỗi này cho chuỗi khác.
Ta sử dụng các hàm để thao tác với chuỗi ký tự
9
- 2.1 – Các hàm thông dụng thuộc string.h
Hàm strlen
− Cú pháp:
int strlen(char s[])
− Công dụng: Trả về độ dài chuỗi s, chính là số
lượng ký tự thực trong chuỗi (không tính ‘\0’).
10
- 2.1 – Các hàm thông dụng thuộc string.h
Hàm strcpy
− Cú pháp:
strcpy(char dest[], char source[])
− Công dụng: Sao chép nội dung chuỗi source
vào chuỗi dest.
11
- 2.1 – Các hàm thông dụng thuộc string.h
Hàm strncpy
− Cú pháp:
strncpy(char dest[], char source[], int n)
− Công dụng: Tương tự như strcpy, nhưng chỉ
sao chép n ký tự. Nếu trong source không đủ số
lượng ký tự thì hàm sẽ điền thêm các ký tự
trắng vào chuỗi dest.
12
- 2.1 – Các hàm thông dụng thuộc string.h
Hàm strcat
− Cú pháp:
strcat(char ch1[], char ch2[])
− Công dụng: Nối chuỗi ch2 vào cuối chuỗi ch1.
Sau lời gọi hàm thì độ dài ch1 bằng tổng độ dài
của hai chuỗi ch1 và ch2 trước lời gọi hàm.
13
- 2.1 – Các hàm thông dụng thuộc string.h
Hàm strncat
− Cú pháp:
strncat(char ch1[], char ch2[], int n)
− Công dụng: Tương tự hàm strcat, nhưng chỉ
giới hạn với n ký tự đầu tiên của ch2.
14
- 2.1 – Các hàm thông dụng thuộc string.h
Hàm strcmp
− Cú pháp:
int strcmp(char ch1[], char ch2[])
− Công dụng: So sánh hai chuỗi ch1 và ch2.
+ Nếu ch1 = = ch2 thì trả về 0.
+ Nếu ch1 > ch2 thì trả về số dương
+ Nếu ch1< ch2 thì trả về số âm
15
- 2.1 – Các hàm thông dụng thuộc string.h
Hàm strncmp
− Cú pháp:
int strncmp(char ch1[], char ch2[], int n)
− Công dụng: Tương tự hàm strcmp, nhưng chỉ
giới hạn so sánh n ký tự đầu của hai chuỗi.
16
- 2.1 – Các hàm thông dụng thuộc string.h
Hàm stricmp
− Cú pháp:
int stricmp(char ch1[], char ch2[],)
− Công dụng: Tương tự hàm strcmp, nhưng
không phân biệt chữ hoa và chữ thường.
17
- 2.1 – Các hàm thông dụng thuộc string.h
Hàm strincmp
− Cú pháp:
int strincmp(char ch1[], char ch2[], int n)
− Công dụng: Tương tự hàm stricmp, nhưng giới
hạn so sánh n ký tự đầu của hai chuỗi.
18
- 2.1 – Các hàm thông dụng thuộc string.h
Hàm strchr
− Cú pháp:
char * strchr (char s[], char c)
− Công dụng: Tìm lần xuất hiện đầu tiên của ký
tự c trong chuỗi s, trả về địa chỉ của ký tự này
19
- 2.1 – Các hàm thông dụng thuộc string.h
Hàm strrchr
− Cú pháp:
char * strrchr (char s[], char c)
− Công dụng: Tương tự hàm strchr, nhưng việc
tìm kiếm bắt đầu từ cuối chuỗi.
20
nguon tai.lieu . vn