字符串处理总结
2018-06-18 03:53:40来源:未知 阅读 ()
一、字符串输入
1. 输入单个字符串
可以使用 scanf 函数,以空格为分割输入字符串,代码如下:
1 #include <stdio.h> 2 #include <string.h> 3 4 int main() { 5 char str[100]; 6 // 一个一个输入字符串,以空格为结尾 7 while(scanf("%s", str) != EOF) { 8 printf("%s\n", str); 9 } 10 11 return 0; 12 }
2. 输入整行字符串
可以使用 gets 函数,以 '\n' 为分割输入整行字符串,代码如下:
1 #include <stdio.h> 2 #include <string.h> 3 4 int main() { 5 char str[100]; 6 // 以 '\n' 为分割输入整行字符串 7 while(gets(str) != NULL) { 8 printf("%s\n", str); 9 } 10 11 return 0; 12 }
二、字符串处理
1. 字符串拷贝
可以使用 strcpy 函数,代码如下:
#include <stdio.h> #include <string.h> int main() { char str1[100], str2[100]; // 一个一个输入字符串,以空格为结尾 while(scanf("%s", str1) != EOF) { strcpy(str2, str1); // 将 str1 拷贝到 str2 printf("%s %s\n", str1, str2); } return 0; }
注意:1. str1 会覆盖 str2 内容;2. 定义数组是,str2 长度要大于或等于 str1。
也可以使用 strncpy 函数,代码如下:
1 #include <stdio.h> 2 #include <string.h> 3 4 int main() { 5 char str1[100], str2[100]; 6 // 一个一个输入字符串,以空格为结尾 7 while(scanf("%s %s", str1, str2) != EOF) { 8 strncpy(str2, str1, 3); // 将 str1的前3个字符 拷贝到 str1 9 printf("%s\n", str2); 10 } 11 12 return 0; 13 }
注意:str2 的前 n 个字符会被 str1 的前 n 个字符覆盖。
2. 字符串连接
可以使用 strcat 函数,代码如下:
1 #include <stdio.h> 2 #include <string.h> 3 4 int main() { 5 char str1[100], str2[100]; 6 // 一个一个输入字符串,以空格为结尾 7 while(scanf("%s %s", str1, str2) != EOF) { 8 strcat(str2, str1); // 将 str1 接到 str2 后面 9 printf("%s\n", str2); 10 } 11 12 return 0; 13 }
注意:要注意 str2 的长度为 str1 与原 str2 长度之和,str2 最后的 '\0' 字符会自动消失。
也可以使用 strncat 函数,将字符串的前 n 个字符连接到另一个字符后面,代码如下:
1 #include <stdio.h> 2 #include <string.h> 3 4 int main() { 5 char str1[100], str2[100]; 6 // 一个一个输入字符串,以空格为结尾 7 while(scanf("%s %s", str1, str2) != EOF) { 8 strncat(str2, str1, 3); // 将 str1 的前3个字符接到 str2 后面 9 printf("%s\n", str2); 10 } 11 12 return 0; 13 }
3. 字符串比较
可以使用 strcmp 函数,代码如下:
1 #include <stdio.h> 2 #include <string.h> 3 4 int main() { 5 char str1[100], str2[100]; 6 // 一个一个输入字符串,以空格为结尾 7 while(scanf("%s %s", str1, str2) != EOF) { 8 int ptr = strcmp(str1, str2); // 比较 str1,str2 9 if(ptr < 0) { // 返回值小于0 10 printf("%s < %s\n", str1, str2); // str1<str2 11 } else if(ptr == 0) { // 返回值等于0 12 printf("%s == %s\n", str1, str2); // str1=str2 13 } else { // 返回值大于0 14 printf("%s > %s\n", str1, str2); // str1>str2 15 } 16 } 17 18 return 0; 19 }
4. 字符串长度
可以使用 strlen 函数,代码如下:
1 #include <stdio.h> 2 #include <string.h> 3 4 int main() { 5 char str1[100]; 6 // 一个一个输入字符串,以空格为结尾 7 while(scanf("%s", str1) != EOF) { 8 // 输出字符串长度 9 printf("strlen = %d\n", strlen(str1)); 10 } 11 12 return 0; 13 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 解析一下C++的异常处理 2020-05-15
- Z 字形变换 2020-04-14
- 使用错误代码对象进行C++错误处理 2020-04-10
- 翻转字符串里面的单词 2020-04-10
- 用C++实现:FJ的字符串打印 2020-04-04
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash