1)字符串读入
第一种方式:
scanf("%s",str);
这种方式,是直接用 scanf,这样读字符串的话,是从第一个字符读起,然后读至 空格、制表符、换行符 停止,是最简单的方法,也比较常用。
第二种方式:
scanf("%[^\n]*c",str);
这种读入方法,是会吃整行的字符,遇到 换行符 停止。
一般用于整行读入,或者读入含空格的字符串。
注意:虽然不吃行尾的换行符,但是有可能会吃掉行首的换行符哦!
解决方法:在前面加上 "getchar()" 即可。
第三种方式:
getline(str);
这种方式直接读入一行,也不吃行首行尾的换行符哦!
2)字符串操作
复制字符串:
strcpy(p1, p);
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 子串. 返回子串 strSearch 在 string 中首次出现位置的指针. 如果没有找到子串 strSearch , 则返回 NULL . 如果子串 strSearch 为空串, 函数返回 string 值。
OVER!