C,C++中常用的操作字符串的函数
发布时间 - 2026-01-11 03:15:55 点击率:次小小的做一个总结
函数名: stpcpy
功 能: 拷贝一个字符串到另一个,遇到'\0'时停止拷贝,destin要有足够大的空间
用 法: char *stpcpy(char *destin, char *source);
函数名: strcat
功 能: 字符串拼接函数,注意,destin要有足够大的空间
用 法: char *strcat(char *destin, char *source);

函数名: strchr
功 能: 在一个串中查找给定字符的第一个匹配之处,找不到返回NULL
用 法: char *strchr(char *str, char c);
函数名: strcmp
功 能: 字符串大小比较,str1>str2 返回1,str1<str2 返回-1,相等返回0
用 法: int strcmp(char *str1, char *str2);
函数名: strncmpi
功 能: 比较字符串str1和str2的前maxlen个字符,忽略大小写
用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);
函数名: strcpy
功 能: 遇到'\0'时停止拷贝,destin要有足够大的空间
用 法: char *strcpy(char *str1, char *str2);
函数名: strcspn
功 能: 返回字符串s1中第一个在s2中出现的字符在s1中的下标值,亦即在s1中出现而s2中没有出现的子串的长度
用 法: int strcspn(char *str1, char *str2);
程序例:
str1="Golden Global View"; str2 = "new"
在s1中,且在s2中, n e w这三个字符都满足,而e是在s1中最先出现的,所以返回它的位置
函数名: strdup
功 能: 将串拷贝到新建的位置处,注意,在使用该函数时,申请了一片新的内存,所以使用后必须释放
用 法: char *strdup(char *str);
程序例:
#include <stdio.h>
#include <string.h>
#include <alloc.h>
int main(void)
{
char *dup_str, *string = "abcde";
dup_str = strdup(string); // 申请了一片新的内存地址,dup_str指向了这片内存
printf("%s\n", dup_str);
free(dup_str); // 一定要释放
return 0;
}
函数名: stricmp
功 能: 比较字符串大小,忽略大小写
用 法: int stricmp(char *str1, char *str2);
函数名: strerror
功 能: 返回指向错误信息字符串的指针
用 法: char *strerror(int errnum);
程序例:
#include <stdio.h>
#include <errno.h>
int main(void)
{
char *buffer;
buffer = strerror(errno);
printf("Error: %s\n", buffer);
return 0;
}
函数名: strcmpi
功 能: 比较两个字符串,忽略大小写
用 法: int strcmpi(char *str1, char *str2);
函数名: strncmp
功 能: 比较字符串大小 maxlen是比较的位数
用 法: int strncmp(char *str1, char *str2, int maxlen);
函数名: strncmpi
功 能: 把串中的一部分与另一串中的一部分比较, 不管大小写,maxlen是比较的位数
用 法: int strncmpi(char *str1, char *str2,int maxlen);
函数名: strncpy
功 能: 串拷贝 maxlen规定拷多少位
用 法: char *strncpy(char *destin, char *source, int maxlen);
函数名: strnicmp
功 能: 忽略大小写比较字符串 maxlen是比较的位数
用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);
函数名: strnset
功 能: 将一个字符串中的前n个字符都设为指定字符ch
用 法: char *strnset(char *str, char ch, unsigned n);
函数名: strpbrk
功 能: 在源字符串(s1)中找出最先含有搜索字符串(s2)中任一字符的位置并返回,若找不到则返回空指针
用 法: char *strpbrk(char *str1, char *str2);
函数名: strrchr功 能: 在串中查找指定字符的最后一个出现
用 法: char *strrchr(char *str, char c);
函数名: strrev
功 能: 串倒转
用 法: char *strrev(char *str);
函数名: strset
功 能: 将一个串中的所有字符都设为指定字符
用 法: char *strset(char *str, char c);
函数名: strspn
功 能: 返回字符串str1中第一个不在指定字符串str2中出现的字符下标
用 法: int strspn(char *str1, char *str2);
函数名: strstr
功 能: 在串中查找指定字符串的第一次出现
用 法: char *strstr(char *str1, char *str2);
函数名: strtok
功 能: 查找由在第二个串中指定的分界符分隔开的单词
用 法: char *strtok(char *str1, char *str2);
程序例:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char sentence[]="This is a sentence with 7 tokens";
cout<< "The string to be tokenized is:\n"<< sentence <<"\n\nThe tokens are:\n\n";
char *tokenPtr=strtok(sentence," ");
while(tokenPtr!=NULL)
{
cout<<tokenPtr<<endl;
tokenPtr=strtok(NULL," "); // 再次调用时,第一个参数传NULL
}
}
函数名: strupr
功 能: 将串中的小写字母转换为大写字母
用 法: char *strupr(char *str);
函数名: swab
功 能: 交换字节 ,nbytes是交换的字节数
用 法: void swab (char *from, char *to, int nbytes);
程序例:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char source[15] = "Frank Borland";
char target[15];
int main(void)
{
swab(source, target, strlen(source));
printf("This is target: %s\n", target);
return 0;
}
到此就结束了,大家可以查看下面的几篇文章。
# 操作字符串
# 函数
# C++获取字符串长度的几个函数方式
# C/C++字符串查找函数全面了解
# C/C++中关于字符串的常见函数操作大全
# C/C++的各种字符串函数你知道几个
# C/C++字符函数和字符串函数示例详解
# 第一个
# 要有
# 找不到
# 设为
# 是在
# 之处
# 亦即
# 第二个
# 做一个
# 到此
# 错误信息
# 这三个
# 这片
# 转换为
# 可以查看
# 几篇
# 结束了
# 拷贝到
# Global
# Golden
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
高端云建站费用究竟需要多少预算?
如何快速生成可下载的建站源码工具?
如何基于云服务器快速搭建网站及云盘系统?
网站建设保证美观性,需要考虑的几点问题!
Bootstrap整体框架之JavaScript插件架构
如何在万网ECS上快速搭建专属网站?
如何快速搭建高效香港服务器网站?
Laravel怎么在Blade中安全地输出原始HTML内容
公司门户网站制作流程,华为官网怎么做?
javascript读取文本节点方法小结
iOS验证手机号的正则表达式
手机网站制作与建设方案,手机网站如何建设?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
Android自定义listview布局实现上拉加载下拉刷新功能
昵图网官网入口 昵图网素材平台官方入口
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
Linux安全能力提升路径_长期防护思维说明【指导】
如何快速搭建虚拟主机网站?新手必看指南
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
香港服务器建站指南:免备案优势与SEO优化技巧全解析
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
Laravel中的withCount方法怎么高效统计关联模型数量
如何快速搭建二级域名独立网站?
浅析上传头像示例及其注意事项
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
JavaScript中的标签模板是什么_它如何扩展字符串功能
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
Laravel如何生成API文档?(Swagger/OpenAPI教程)
如何快速搭建高效服务器建站系统?
如何在阿里云高效完成企业建站全流程?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
中国移动官方网站首页入口 中国移动官网网页登录
b2c电商网站制作流程,b2c水平综合的电商平台?
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
青岛网站建设如何选择本地服务器?
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
jQuery 常见小例汇总
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Laravel如何使用Eloquent进行子查询
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
Python结构化数据采集_字段抽取解析【教程】

