C语言中的字符串处理函数:strcpy, strcat, strchr, strcmp
需积分: 15 35 浏览量
更新于2024-09-12
收藏 11KB TXT 举报
本文主要介绍了四个C/C++中的字符串处理函数——strcpy、strcat、strchr和strcmp,并提供了相应的示例代码。
1. strcpy 函数
strcpy 函数用于将一个字符串复制到另一个字符串中。其函数原型是 `char *strcpy(char *destin, char *source)`。在提供的示例中,`strcpy` 被用来将字符串 "abcdefghi" 复制到字符数组 `string` 中。注意使用 `strcpy` 时要确保目标字符串有足够的空间容纳源字符串,否则会导致内存溢出。
```c++
#include <stdio.h>
#include <string.h>
int main(void) {
char string[10]; // 目标字符串
char *str1 = "abcdefghi"; // 源字符串
strcpy(string, str1); // 复制源字符串到目标字符串
printf("%s\n", string); // 输出复制后的字符串
return 0;
}
```
2. strcat 函数
strcat 函数用于连接两个字符串。它的函数原型是 `char *strcat(char *destin, char *source)`。在示例中,`strcat` 先将 "Borland" 复制到 `destination`,然后添加空字符串 " ",最后添加 "C++",形成 "Borland C++"。
```c++
#include <string.h>
#include <stdio.h>
int main(void) {
char destination[25]; // 目标字符串
char *blank = "", *c = "C++", *Borland = "Borland";
strcpy(destination, Borland); // 复制 "Borland"
strcat(destination, blank); // 连接空字符串
strcat(destination, c); // 连接 "C++"
printf("%s\n", destination); // 输出连接后的字符串
return 0;
}
```
3. strchr 函数
strchr 函数用于在一个字符串中查找指定字符首次出现的位置。其函数原型是 `char *strchr(char *str, char c)`。在示例中,`strchr` 用于查找字符串 "Thisisastring" 中字符 'r' 的位置,并输出找到的位置。
```c++
#include <string.h>
#include <stdio.h>
int main(void) {
char string[15] = "Thisisastring";
char c = 'r';
char *ptr = strchr(string, c); // 查找字符 'r'
if (ptr) {
printf("The character %c is at position: %d\n", c, ptr - string);
} else {
printf("The character was not found\n");
}
return 0;
}
```
4. strcmp 函数
strcmp 函数用于比较两个字符串的顺序。函数原型是 `int strcmp(char *str1, char *str2)`。它会逐个比较两个字符串的字符,直到找到不同的字符或遇到字符串结束符 '\0'。返回值为0表示字符串相等,大于0表示`str1`在字典顺序上大于`str2`,小于0则相反。
```c++
#include <string.h>
#include <stdio.h>
int main(void) {
char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";
int result1, result2;
result1 = strcmp(buf1, buf2); // 比较 "aaa" 和 "bbb"
result2 = strcmp(buf1, buf3); // 比较 "aaa" 和 "ccc"
if (result1 > 0) {
printf("'%s' is greater than '%s'\n", buf1, buf2);
} else if (result1 < 0) {
printf("'%s' is less than '%s'\n", buf1, buf2);
} else {
printf("'%s' is equal to '%s'\n", buf1, buf2);
}
if (result2 > 0) {
printf("'%s' is greater than '%s'\n", buf1, buf3);
} else if (result2 < 0) {
printf("'%s' is less than '%s'\n", buf1, buf3);
} else {
printf("'%s' is equal to '%s'\n", buf1, buf3);
}
return 0;
}
```
这些函数是C/C++编程中处理字符串的基本工具,对于理解和操作字符串非常有用。掌握它们有助于编写处理字符串的高效代码。
2020-10-20 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
zm53373581
- 粉丝: 18
- 资源: 5
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析