Lập trình C. Các thao tác trên chuỗi
Chia sẻ bởi Huỳnh Bảo Long |
Ngày 29/04/2019 |
79
Chia sẻ tài liệu: Lập trình C. Các thao tác trên chuỗi thuộc Bài giảng khác
Nội dung tài liệu:
Chuỗi ký tự
Nguyễn Văn Khiết
Nội dung
Chuỗi ký tự
Các thao tác trên chuỗi
Bài tập
Chuỗi ký tự
Chuỗi là một mảng của các ký tự và giá trị sau ký tự cuối cùng của chuỗi là null.
Ví dụ
char str[] = “hello“;
Hoặc
char str[6];
str[0] = ‘h`;
str[1] = ` e`;
str[2] = `l`;
str[3] = ‘l`;
str[4] = ‘o`;
str[5] = 0;
Chuỗi ký tự
Khi C gặp một chuỗi hằng, bản thân chuỗi đó được xem như tên của mảng ẩn.
Tên của mảng tương đương với địa chỉ phần tử đầu tiên, vì vậy chuỗi hằng cũng là một con trỏ chỉ tới phần tử đầu tiên của mảng ẩn
Hiddenstring.cpp
Chuỗi ký tự
Thao tác sau là không đúng:
char s[80] = “This is a string”, *p;
s = “This new string”;
vì s là con trỏ hằng.
scanf, gets, puts
scanf : không nhập chuỗi đến ký tự trắng
char s[100];
scanf("%s",s);
printf ("%s ",s);
gets : nhập chuỗi bao gồm ký tự trắng
char s[100];
gets(s);
printf ("%s ",s);
puts : xuất cả chuỗi
putchar : xuất ký tự
Các thao tác trên chuỗi
strlen
strlen(s) : trả về chiều dài của chuỗi s. (không tính ký tự null)
Các thao tác trên chuỗi
strcpy và strncpy
strcpy(s1,s2): copy chuỗi s2 vào chuỗi s1. (strcpy1.cpp)
strncpy(s1,s2,n): copy n ký tự đầu tiên của chuỗi s2 vào chuỗi s1. s1 phải có đội lớn đủ để chứa n ký tự.
n>strlen(s2): giống strcpy
n<=strlen(s1): an toàn vì ‘ ’ của s1 vẫn còn
strlen(s1)
Nguyễn Văn Khiết
Nội dung
Chuỗi ký tự
Các thao tác trên chuỗi
Bài tập
Chuỗi ký tự
Chuỗi là một mảng của các ký tự và giá trị sau ký tự cuối cùng của chuỗi là null.
Ví dụ
char str[] = “hello“;
Hoặc
char str[6];
str[0] = ‘h`;
str[1] = ` e`;
str[2] = `l`;
str[3] = ‘l`;
str[4] = ‘o`;
str[5] = 0;
Chuỗi ký tự
Khi C gặp một chuỗi hằng, bản thân chuỗi đó được xem như tên của mảng ẩn.
Tên của mảng tương đương với địa chỉ phần tử đầu tiên, vì vậy chuỗi hằng cũng là một con trỏ chỉ tới phần tử đầu tiên của mảng ẩn
Hiddenstring.cpp
Chuỗi ký tự
Thao tác sau là không đúng:
char s[80] = “This is a string”, *p;
s = “This new string”;
vì s là con trỏ hằng.
scanf, gets, puts
scanf : không nhập chuỗi đến ký tự trắng
char s[100];
scanf("%s",s);
printf ("%s ",s);
gets : nhập chuỗi bao gồm ký tự trắng
char s[100];
gets(s);
printf ("%s ",s);
puts : xuất cả chuỗi
putchar : xuất ký tự
Các thao tác trên chuỗi
strlen
strlen(s) : trả về chiều dài của chuỗi s. (không tính ký tự null)
Các thao tác trên chuỗi
strcpy và strncpy
strcpy(s1,s2): copy chuỗi s2 vào chuỗi s1. (strcpy1.cpp)
strncpy(s1,s2,n): copy n ký tự đầu tiên của chuỗi s2 vào chuỗi s1. s1 phải có đội lớn đủ để chứa n ký tự.
n>strlen(s2): giống strcpy
n<=strlen(s1): an toàn vì ‘ ’ của s1 vẫn còn
strlen(s1)