今天学习了c语言的一些库函数用法。
比如:strcpy(),strlen(),strchr(),strcmp(),strcat(),strstr()。
下面是我写的一些代码和结果。
1.strlen
#include<stdio.h> #include<string.h> int main() { char a[10] = "12345"; printf("%d\n", strlen(a)); system("pause"); return 0; }
strlen()函数的作用是求一个字符串的有效长度,运行结果是5。
2.strcpy
#include<stdio.h> #include<string.h> int main() { char a[] = "123456"; char c[10]; int i = 0; strcpy(c, a); for (i = 0; i < sizeof(a) / sizeof(a[0]); i++) { printf("%c\n", c[i]); } system("pause"); return 0; }
strcpy(i,j)函数的作用是将j字符串的内容复制给i,下面是运行结果。
3.strchr
#include<stdio.h> #include<string.h> int main() { char *a = "123456789"; int *p = strchr(a, '6'); printf("%ld\n", a); printf("%ld\n", p); system("pause"); return 0; }
strchr()函数的作用是查找一个字符串中第一次出现有我要找的字符,并且返回地址。
4.strcmp
#include<stdio.h> #include<string.h> int main() { char *a = "abc"; char *b = "Abc"; char *c = "aBc"; char *d = "abc"; printf("%d\n", strcmp(a, b)); printf("%d\n", strcmp(a, c)); printf("%d\n", strcmp(a, d)); system("pause"); return 0; }
strcmp()函数的作用是对两个字符串中的字符进行比较。
假如a字符串第一个字符==b字符串的第一个字符那么将继续比较下去知道最后一个字符。
是将字符的ASCll码值进行比较,a>b就返回一个正数,a<b就返回一个负数,a==b就返回0。
5.strstr
#include<stdio.h> #include<string.h> int main() { char *a = "123 456 789"; char *b = "45"; char *p; p = strstr(a, b); printf("%ld\n", p); system("pause"); return 0; } strstr()函数的作用是查找b字符串在a字符串中第一次出现的位置,并且返回首地址,假如没有找到,则返回NULL。 下面是结果图:
这时假如把 char *b="45";改成char *b="00"则会显示0。
6.strcat
#include<stdio.h> #include<string.h> int main() { char a[] = "12345"; char b[] = "67890"; strcat(a, b); printf("%s\n", a); printf("%s\n", b); system("pause"); return 0; }
strcat()函数是字符串连接函数,函数返回指针,两个参数都是指针。第一个参数所指向的内存的地址必须能容纳两个字符串连接后的大小。
运行结果图: