十二、字符串(2)——字符串函数

1、单字符输入输出,用 putchar 和 getchar

int putchar(int c);
//向标准输出写一个字符
//返回写了几个字符,EOF(-1)表示写失败
int getchar(void);
//从标准输入读入一个字符
//返回类型是int是为了返回EOF(-1);

//Windows ——> Ctrl-Z
//Unix  ——> Ctrl-D
标准库中的字符函数
#include<string.h>
strlen、strcmp、strcpy、strcat、strchr、strstr

2、字符串函数strlen

size_t  strlen(const  char*s)
//返回s的字符串长度(不包括结尾的0)

 

3、字符串函数strcmp

int  strcmp(const  char *s1,const  char *s2);
//比较两个字符串,返回:
//       0      :s1==s2
//     >0      :  s1> s2
//     <0      :  s1< s2

 

4、字符串函数strcpy

char *strcpy( char  *restrict  dst,  const  char  *restrict  src);
//把src的字符串拷贝到dst
//restrict  表明  src 和 dst 不重叠(C99)
//返回dst
//为了能链起代码来

 

char  *dst  = (char*) malloc   (strlen(src)+1);
strcpy(dst,src);

5、字符串函数strcat

char  *strcat(char  *restrict  s1, const char  *restrict   s2);
//把s2拷贝到s1的后面,接成一个长的字符串
//返回s1
//s1必须具有足够的空间
安全问题

strcpy和strcat都可能出现安全问题

——如果目的地没有足够的空间?

安全版本
char*   strncpy(char  *restrict  dst, const char  *restrict   src, size_t  n);

char*   strncat(char  *restrict  s1, const char  *restrict   s2, size_t  n);

int   strncmp(const  char*  s1, const char* s2 , siz e_t  n);

 

6、字符串搜索函数

字符串中找字符
char*  strchr(const char* s, int c);
char*  strchr(const char* s, int c);
//返回NULL表示没有找到

如何寻找第2个

字符串中找字符串

 

posted @ 2018-05-17 22:25  Strugglinggirl  阅读(172)  评论(0编辑  收藏  举报