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结构化数据采集_字段抽取解析【教程】