Các chức năng của Thư viện chuỗi
Các hàm được xác định trước được thiết kế để xử lý các chuỗi có sẵn trong thư viện “string.h”. Họ -
- strlen ()
- strcmp ()
- strcpy ()
- strncmp ()
- strncpy ()
- strrev ()
- strcat ()
- strstr ()
- strncat ()
Hàm strlen ()
Nó trả về số ký tự trong một chuỗi.
Cú pháp
int strlen (string name)
Ví dụ
#include <string.h>
main (){
char a[30] = “Hello”;
int l;
l = strlen (a);
printf (“length of the string = %d”, l);
getch ();
} Đầu ra
length of the string = 5
Hàm strcpy ()
- Nó dùng để sao chép chuỗi nguồn thành chuỗi đích.
- Độ dài của chuỗi đích> =chuỗi nguồn.
Cú pháp
strcpy (Destination string, Source String);
Ví dụ:
1) char a[50]; strcpy (“Hello”,a); o/p: error 2) char a[50]; strcpy ( a,”hello”); o/p: a= “Hello”
Ví dụ
#include <string.h>
main (){
char a[50], b[50];
printf ("enter a source string");
scanf("%s", a);
printf("enter destination string");
scanf("%s",b);
strcpy ( b,a);
printf ("copied string = %s",b);
getch ();
} Đầu ra
Enter a source string : Hello Copied string = Hello
Hàm strncpy ()
-
Nó sao chép các ký tự ‘n’ của chuỗi nguồn vào chuỗi đích.
-
Độ dài của chuỗi đích phải> =độ dài của chuỗi nguồn.
Cú pháp
strncpy (Destination string, Source String, n);
Ví dụ
#include<string.h>
main (){
char a[50], b[50];
printf ("enter a string");
gets (a);
gets(b);
strncpy (b,a,3);// copy first 3 char from a string
b[3] = '\0';
printf ("copied string = %s",b);
getch ();
} Đầu ra
Enter a string : Hello Copied string = Hel It is also used for extracting substrings;
Hàm strcat ()
- Nó kết hợp hai chuỗi.
- Độ dài của chuỗi đích phải> hơn chuỗi nguồn.
Cú pháp
strcat (Destination String, Source string);
Ví dụ
#include <string.h>
main(){
char a[50] = "Hello";
char b[20] = "Good Morning";
clrscr ();
strcat (a,b);
printf("concatenated string = %s", a);
getch ();
} Đầu ra
Concatenated string = Hello Good Morning
Hàm strncat ()
-
Điều này được sử dụng để kết hợp hoặc nối n ký tự của một chuỗi thành một chuỗi khác.
-
Độ dài của chuỗi đích phải lớn hơn chuỗi nguồn
-
Chuỗi được nối kết quả sẽ nằm trong chuỗi đích.
Cú pháp
strncat (Destination String, Source string,n);
Ví dụ
#include <string.h>
main (){
char a [30] = "Hello";
char b [20] = "Good Morning";
clrscr ();
strncat (a,b,4);
a [9] = '\0';
printf("concatenated string = %s", a);
getch ();
} Đầu ra
Concatenated string = Hello Good.
Hàm strcmp () (So sánh chuỗi)
-
Hàm này so sánh 2 chuỗi.
-
Nó trả về sự khác biệt ASCII của hai ký tự không khớp đầu tiên trong cả hai chuỗi.
Cú pháp
int strcmp (string1, string2); //If the difference is equal to zero, then string1 = string2 //If the difference is positive, then string1 > string2 //If the difference is negative, then string1 < string2
Ví dụ
#include<stdio.h>
#include<string.h>
int main (){
char a[50], b [50];
int d;
printf ("Enter 2 strings:");
scanf ("%s %s", a,b);
d = strcmp(a,b);
if (d==0){
printf("%s is (alphabetically) equal to %s", a,b);
}else if (d>0){
printf("%s is (alphabetically) greater than %s",a,b);
}else if (d<0){
printf("%s is (alphabetically) less than %s", a,b);
}
} Đầu ra
Enter 2 strings:apple ball apple is (alphabetically) less than ball
Hàm strncmp ()
Hàm này được sử dụng để so sánh các ký tự ‘n’ đầu tiên của 2 chuỗi.
Cú pháp
strncmp ( string1, string2,2)
Ví dụ:char a [10] =“the”;
char b [10] =“đó”
strncmp (a, b, 4);
Đầu ra - Cả hai chuỗi đều bằng nhau
Hàm strrev ()
- Hàm được sử dụng để đảo ngược một chuỗi.
- Chuỗi đã đảo ngược sẽ được lưu trữ trong cùng một chuỗi.
Cú pháp
strrev (string)
Ví dụ
#include<stdio.h>
main (){
char a[50] ;
clrscr();
printf ("enter a string");
gets (a);
strrev (a);
printf("reversed string = %s",a)
getch ();
} Đầu ra
enter a string Hello reversed string = olleH
Hàm strstr ()
-
Nó được sử dụng để tìm kiếm xem một chuỗi con có trong chuỗi chính hay không.
-
Nó trả về con trỏ đến lần xuất hiện đầu tiên của s2 trong s1.
Cú pháp
strstr(mainsring,substring);
Ví dụ
#include<stdio.h>
void main(){
char a[30],b[30];
char *found;
printf("Enter a string:\t");
gets(a);
printf("Enter the string to be searched for:\t");
gets(b);
found=strstr(a,b);
if(found)
printf("%s is found in %s in %d position",b,a,found-a);
else
printf("-1 since the string is not found");
getch();
} Đầu ra
Enter a string: how are you Enter the string to be searched for: you you is found in 8 position