C语言(C++)字符串操作总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41181771/article/details/84857290

1)字符串读入

第一种方式:

scanf("%s",str);

这种方式,是直接用 scanf,这样读字符串的话,是从第一个字符读起,然后读至 空格、制表符、换行符 停止,是最简单的方法,也比较常用。

第二种方式:

gets(str);

这种读入方法,是会吃整行的字符,遇到 换行符 停止。

一般用于整行读入,或者读入含空格的字符串。

注意:gets() 虽然不吃行尾的换行符,但是有可能会吃掉行首的换行符哦!

解决方法:gets() 前面加上 "getchar()" 即可。

第三种方式:

getline(str);

这种方式直接读入一行,也不吃行首行尾的换行符哦!

2)字符串操作 

复制字符串:

strcpy(p, p1);

strcpy(char destination[], char source[]); 

功能:将字符串 source (p) 拷贝到字符串 destination (p1) 中,会覆盖掉原来的字符串。

复制指定长度字符串 :

strncpy(p, p1, n);

strncpy(char destination[], char source[], int numchars);

功能:将字符串 source (p1) 中前 numchars (n) 个字符拷贝到字符串 destination (p) 中,同样覆盖原来字符串。

附加字符串 :

strcat(p, p1);

strcat(char target[], char source[]); 

功能:将字符串 source (p1) 接到字符串 target (p) 的后面 ,不会覆盖原字符串。

附加指定长度字符串:

strncat(p, p1, n);

strncat(char target[], char source[], int numchars);

功能:将字符串 source (p1) 的前 numchars (n) 个字符接到字符串 target (p) 的后面 。

取字符串长度:

strlen(p);

int n = strlen( char string[] );

功能:统计字符串 string 中字符的个数 ,n 就是字符串长度

比较字符串:

strcmp(p, p1); 

int n=strcmp ( char firststring[], char secondstring);

功能:比较两个字符串 firststring (p)secondstring (p1)

如果 n > 0,说明在某一个地方,最先出现了 p[ i ] > p1[ i ]

如果 n < 0,说明在某一个地方,最先出现了 p[ i ] < p1[ i ]

如果 n = 0,说明这两个字符串完全一样;

查找字符串:

strstr(p, p1);

char *p = strstr( char *string, char *strSearch);

在字符串 string 中查找 strSearch 子串.  返回子串 strSearchstring 中首次出现位置的指针. 如果没有找到子串 strSearch , 则返回 NULL . 如果子串 strSearch 为空串, 函数返回 string 值。

OVER!

猜你喜欢

转载自blog.csdn.net/qq_41181771/article/details/84857290