今天學習了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()函數是字符串連接函數,函數返回指針,兩個參數都是指針。第一個參數所指向的內存的地址必須能容納兩個字符串連接後的大小。
運行結果圖: