Data_Structure/作業/期中考/string_fun.cpp

124 lines
3.4 KiB
C++
Raw Permalink Normal View History

2025-01-20 21:30:53 +08:00
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
// <20>Y<EFBFBD><59><EFBFBD>J<EFBFBD>t<EFBFBD><74>\n<><6E><EFBFBD><EFBFBD> <20>ϥΦ<CFA5><CEA6><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>\n
// <20>N<EFBFBD><4E><EFBFBD><EFBFBD>\n<><6E><EFBFBD><EFBFBD><EFBFBD>m<EFBFBD><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\0
name[strcspn(name, "\n")] = '\0';
// strlen() - <20>p<EFBFBD><70><EFBFBD>r<EFBFBD><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char str[] = "Hello";
int length = strlen(str); // <20><><EFBFBD>G<EFBFBD><47> 5
printf("strlen(Hello) = %d\n",length);
// strcpy() - <20>ƻs<C6BB>r<EFBFBD><72>
char dest[50];
char src[] = "Hello";
strcpy(dest, src); // dest <20>{<7B>b<EFBFBD>]<5D>t "Hello"
printf("strcpy(dest, Hello) => dest = %s\n",dest);
// strcat() - <20>s<EFBFBD><73><EFBFBD>r<EFBFBD><72>
char str1[50] = "Hello ";
char str2[] = "World";
strcat(str1, str2); // str1 <20>{<7B>b<EFBFBD>O "Hello World"
printf("strcat(str1 = Hello, str2 = World) => str1 = %s\n",str1);
// strcmp() - <20><><EFBFBD><EFBFBD><EFBFBD>r<EFBFBD><72>
char str3[] = "Hello";
char str4[] = "Hello";
int result = strcmp(str3, str4); // <20>ۦP<DBA6>^<5E><> 0<>Astr1 <20>j<EFBFBD><6A> str2 <20>^<5E>ǥ<EFBFBD><C7A5>ơA<C6A1>p<EFBFBD><70><EFBFBD>^<5E>ǭt<C7AD><74>
printf("strcmp(Hello, Hello) = %d\n",result);
// strchr() - <20>M<EFBFBD><4D><EFBFBD>r<EFBFBD><72><EFBFBD>b<EFBFBD>r<EFBFBD><EFBFBD>Ĥ@<40><><EFBFBD>X<EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD>m
char str5[] = "Hello";
char *p1 = strchr(str5 , 'l'); // <20><><EFBFBD>V<EFBFBD>Ĥ@<40><> 'l' <20><><EFBFBD><EFBFBD><EFBFBD>m
printf("strchr(Hello, 'l') = %p\n",*p1);
// strstr() - <20>M<EFBFBD><4D><EFBFBD>l<EFBFBD>r<EFBFBD><72><EFBFBD>b<EFBFBD>r<EFBFBD><EFBFBD>Ĥ@<40><><EFBFBD>X<EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD>m
char str6[] = "Hello World HELLO";
char *p2 = strstr(str6, "World"); // <20><><EFBFBD>V "World" <20>}<7D>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD>m
// char *p3 = strstr(NULL, " ");
printf("strstr(str6, World) = %d\n",p2 - str6 );
// printf("strstr(, HELLO) = %d\n",p3 - str6 );
// strchr<68><EFBFBD><E7A6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <09><><EFBFBD>ƭ쫬<C6AD>Gchar *strchr(const char *str, int c)
// <09>\<5C><><EFBFBD>G<EFBFBD>b<EFBFBD>r<EFBFBD><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>w<EFBFBD>r<EFBFBD><72><EFBFBD>Ĥ@<40><><EFBFBD>X<EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD>m
// <09><><EFBFBD>^<5E>ȡG
//
// <09>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>r<EFBFBD><72><EFBFBD>A<EFBFBD><41><EFBFBD>^<5E>Ӧr<D3A6><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>w
// <09>Y<EFBFBD>S<EFBFBD><53><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>^ NULL
//
// <09>`<60>N<EFBFBD>G<EFBFBD>ĤG<C4A4>ӰѼ<D3B0><D1BC><EFBFBD><EFBFBD>M<EFBFBD>O int <20><><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>ڤW<DAA4>|<7C>Q<EFBFBD><EFBFBD><E0B4AB> char <20>ӷj<D3B7>M
// char str[] = "programming";
// char *p;
// // <20>M<EFBFBD><4D><EFBFBD>r<EFBFBD><72> 'g'
// p = strchr(str, 'g');
// if (p != NULL) {
// printf("<22><><EFBFBD><EFBFBD> 'g' <20><><EFBFBD><EFBFBD><EFBFBD>m: %ld\n", p - str); // <20><><EFBFBD>X<EFBFBD>G3
// printf("<22>q<EFBFBD>Ӧ<EFBFBD><D3A6>m<EFBFBD><EFBFBD><ECB5B2><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>r<EFBFBD><72>: %s\n", p); // <20><><EFBFBD>X<EFBFBD>Ggramming
// }
//
// // <20>M<EFBFBD><4D><EFBFBD>Ҧ<EFBFBD> 'm' <20><><EFBFBD><EFBFBD><EFBFBD>m
// char *temp = str;
// while ((temp = strchr(temp, 'm')) != NULL) {
// printf("<22><><EFBFBD><EFBFBD> 'm' <20><><EFBFBD><EFBFBD><EFBFBD>m: %ld\n", temp - str);
// temp++; // <20><><EFBFBD><EFBFBD><EFBFBD>U<EFBFBD>@<40>Ӧ<EFBFBD><D3A6>m<EFBFBD>~<7E><><EFBFBD>j<EFBFBD>M
// }
//
// // <20>M<EFBFBD><EFBFBD>s<EFBFBD>b<EFBFBD><62><EFBFBD>r<EFBFBD><72>
// p = strchr(str, 'z');
// if (p == NULL) {
// printf("<22><EFBFBD><E4A4A3><EFBFBD>r<EFBFBD><72> 'z'\n");
// }
// strstr() <20><><EFBFBD><EFBFBD>
// <09><><EFBFBD>ƭ쫬<C6AD>Gchar *strstr(const char *haystack, const char *needle)
// <09>\<5C><><EFBFBD>G<EFBFBD>b<EFBFBD>D<EFBFBD>r<EFBFBD><72><EFBFBD>]haystack<63>^<5E><><EFBFBD>M<EFBFBD><4D><EFBFBD>l<EFBFBD>r<EFBFBD><72><EFBFBD>]needle<6C>^<5E>Ĥ@<40><><EFBFBD>X<EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD>m
// <09><><EFBFBD>^<5E>ȡG
//
// <09>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>r<EFBFBD><72><EFBFBD>A<EFBFBD><41><EFBFBD>^<5E>l<EFBFBD>r<EFBFBD><EFBFBD><EAADBA><EFBFBD>X<EFBFBD>{<7B><><EFBFBD>m<EFBFBD><6D><EFBFBD><EFBFBD><EFBFBD>w
// <09>Y<EFBFBD>S<EFBFBD><53><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>^ NULL
//
// <09>`<60>N<EFBFBD>G<EFBFBD>Ϥ<EFBFBD><CFA4>j<EFBFBD>p<EFBFBD>g
// char str[] = "This is a simple example of strstr function";
// char *p;
//
// // <20>򥻷j<F2A5BBB7>M
// p = strstr(str, "simple");
// if (p != NULL) {
// printf("<22><><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>r<EFBFBD><EFBFBD><EAAABA><EFBFBD>m: %ld\n", p - str); // <20><><EFBFBD>X<EFBFBD>G10
// printf("<22>q<EFBFBD>Ӧ<EFBFBD><D3A6>m<EFBFBD><EFBFBD><ECB5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r: %s\n", p); // <20><><EFBFBD>X<EFBFBD>Gsimple example of strstr function
// }
//
// // <20>j<EFBFBD>M<EFBFBD><4D><EFBFBD>ƥX<C6A5>{<7B><><EFBFBD>l<EFBFBD>r<EFBFBD><72>
// char text[] = "hello hello hello";
// char *temp = text;
// while ((temp = strstr(temp, "hello")) != NULL) {
// printf("<22><><EFBFBD><EFBFBD> 'hello' <20><><EFBFBD><EFBFBD><EFBFBD>m: %ld\n", temp - text);
// temp++; // <20><><EFBFBD><EFBFBD><EFBFBD>U<EFBFBD>@<40>Ӧ<EFBFBD><D3A6>m<EFBFBD>~<7E><><EFBFBD>j<EFBFBD>M
// }
//
// // <20>j<EFBFBD>M<EFBFBD>Ŧr<C5A6><72>
// p = strstr(str, "");
// if (p != NULL) {
// printf("<22>Ŧr<C5A6><72><EFBFBD>ǰt<C7B0><74><EFBFBD>r<EFBFBD><72><EFBFBD>_<EFBFBD>l<EFBFBD><6C><EFBFBD>m\n"); // <20>|<7C>ǰt<C7B0><74><EFBFBD>_<EFBFBD>l<EFBFBD><6C><EFBFBD>m
// }
//
// // <20>Ϥ<EFBFBD><CFA4>j<EFBFBD>p<EFBFBD>g<EFBFBD><67><EFBFBD>d<EFBFBD><64>
// p = strstr(str, "SIMPLE"); // <20><><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>]<5D><><EFBFBD>j<EFBFBD>p<EFBFBD>g<EFBFBD><67><EFBFBD>P
// if (p == NULL) {
// printf("<22><EFBFBD><E4A4A3> 'SIMPLE'<27>A<EFBFBD>]<5D><><EFBFBD>O<EFBFBD>Ϥ<EFBFBD><CFA4>j<EFBFBD>p<EFBFBD>g<EFBFBD><67>\n");
// }
return 0;
}