字符串函数
C语言的字符串处理函数
1.puts函数
//把一个以'\0'结尾的字符串输出到屏幕 char a[] = "Welcome to"; char *p = "Linux C Program"; puts(a); puts(p);
2.gets函数
//从终端输入一个字符数组,返回字符数组的首地址 ]; gets(string); puts(string); //warning: the `gets' function is dangerous and should not be used. //系统不推荐使用gets方法了,危险
3.strcpy和strncpy
#include<string.h> char *strcpy(char *dest , char *src); char *strncpy(char *dest , char *src ,int n);//复制前n个字符 //strcpy是string copy缩写,使用这两个函数必须包含string.h,返回值都是dest //复制时连同'\0'一起被复制
复制错误代码示范:
]; b = a ; //字符串复制只能使用strcpy等类似功能的函数
strcpy不安全,容易被黑客利用,一般用strncpy
示例代码:
char *s = "hello worlg"; ],d2[]; strcpy(d1,s); strncpy(d2,s,sizeof(s)); // //strncpy复制不完全。。。
4.strcat 和strncat
#include<string.h> char *strcat(char *dest , char *src); char *strncat(char *dest , char *src ,int n);//复制前n个字符 //把输入的src追加到dest的尾部 //strcat不安全
5.strcmp 和 strncmp
#include<string.h> char *strcmp(char *s1 , char *s2);//比较两个字符串 char *strncmp(char *s1 , char *s2 ,int n);//比较前n字符串 //第一次出现不同字符时,s1-s2的差值为返回值
6.strlen
#include< //返回字符串的实际长度,不会包括结束符'\0',sizeof(s)的计算会包含结束符
7.strlwr 和 strupr//string lower 和string upper的缩写
8.strstr 和 strchr
#include<string.h> char *strstr(char *s1 , char *s2);//s1中寻找s2,返回首次出现指向s2位置的指针,没有找到返回NULL char *strchr(char *s1 , char c);//s1寻找c首次出现的位置,返回指针,没有返回NULL //---- #include<stdio.h> #include<string.h> int main(){ char *s1 = "Liunx C Program",*s2="unx",*p; p = strstr(s1,s2); if(p != NULL){ printf("%s\n",p); }else{ printf("not found !"); } p= strchr(s1,'C'); if(p != NULL){ printf("%s\n",p); }else{ printf("not found!"); } ; }