C语言中提供了许多用来处理字符串的函数

1、puts gets

puts函数将以一个'\0'结尾的字符串输出到屏幕上去

gets从终端输入一个字符串到字符串数组中,他的返回值是该字符串数组的首地址

 

char* str = "manman";
puts(str);
char str_arr[] = "who";
puts(str_arr);

 

char str_get[10];
bzero(str_get,sizeof(str_get));
gets(str_get);
puts(str_get);

2、strcpy strncpy

只使用strncpy。

strcpy是不安全的,存在安全漏洞,容易被黑客所利用。

char* s = "Hello world";
char a[20];
bzero(a,sizeof(a));
strcpy(a,s);
printf("a=%s, len=%d\n", a, strlen(a));


char* t = "manman";
char b[10];
bzero(b, sizeof(b));
strncpy(b, t, 3);
printf("b=%s, len=%d\n", b, strlen(b));

3、strcat和strncat

strcat是不安全的,存在安全漏洞,容易被黑客所利用。

一般使用strncat。

char *strncat(char *dest, const char *src, size_t n);

strncat把src所指向的字符串的前n个字符串添加到dest结尾处(覆盖结尾处的'\0'),并添加'\0'

strcat 是string catenate的缩写

char d[20] = "Hello ";
char* s = "xx";
strncat(d, s, strlen(s));
printf("%s,---,%d\n", d, strlen(d));

4、strcmp strncmp,字符串比较

int strncmp(char *s1, char *s2,  int n);  s1减去s2

char *s1 = "cc";
char *s2 = "cd";
int r = strcmp(s1, s2);
printf("s1-s2 = %d\n", r);

5、strlen

是string length的缩写

返回的是字符串的实际长度,不包括'\0'在内

6、

 

 从字符串s1中寻找s2第一次出现的位置,返回指向第一次出现s2位置的指针

char *s1 = "man xx";
char *s2 = "an";
char *p = NULL;
p = strstr(s1, s2);
if(p != NULL)
{
printf("%s\n", p);
}

 

p= strchr(s1, 'n');
if(p != NULL)
{
printf("%s\n", p);
}

 

posted on 2016-12-26 11:18  邶风  阅读(343)  评论(0编辑  收藏  举报