广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++常用字符串函数有哪些
  • 589
分享到

C++常用字符串函数有哪些

2023-06-25 12:06:58 589人浏览 独家记忆
摘要

本篇内容主要讲解“c++常用字符串函数有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++常用字符串函数有哪些”吧!1、cstring.h常用函数介绍cstring.h库即C语言中的str

本篇内容主要讲解“c++常用字符串函数有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++常用字符串函数有哪些”吧!

1、cstring.h常用函数介绍

cstring.h库即C语言中的string.h库,它是C语言中为字符串提供的标准库。C++对此进行了兼容,所以我们在C++当中一样可以使用。

这个库当中有大量的关于字符串操作的api,本文选择了其中最常用的几个进行阐述。

2、strlen

由于编译器是按照\0的位置来确定字符串的结尾的,所以字符串的长度并不等于数组的长度。

我们可以使用strlen函数求得字符串的真实长度:

char name[100] = "hello world";cout << strlen(name) << endl;

比如我们这里用一个长度为100的char数组存储了“helloworld”字符串,当我们使用strlen函数求它的实际长度只有11。

3、strcat

strcat函数可以将两个字符串进行拼接,它的函数签名为:

char *strcat(char *dest, const char *src)

我们可以看到它接受两个参数,一个是dest,一个是src,都是char*类型,返回的结果也为char *类型。在C++当中,数组名是指向数组中第一个元素的常量指针。所以虽然签名中写的参数是指针类型,但我们传入数组名同样可以。

我们传入两个字符串之后,strcat函数会将src字符串拼接在dest字符串末尾,并且返回指向拼接之后结果的指针。

所以下面两种方式输出结果得到的值是一样的。

char name[100] = "hello world";char level[100] = "concat test";char *ret = strcat(name, level);cout << ret << endl; // 方式1cout << name << endl; // 方式2

4、strncat

strcat函数的变种,函数额外多接收一个参数控制拷贝src字符串的最大长度。

char *strncat(char *dest, const char *src, size_t n)

我们使用刚才同样的例子:

char name[100] = "hello world";char level[100] = "concat test";char *ret = strncat(name, level, 4);cout << ret << endl;cout << name << endl;

由于我们传入了4,限制了level字符串拷贝的长度,所以最终得到的结果为:hello worldconc。

5、strcpy

字符串拷贝函数,可以将src字符串中的内容复制到dest

char *strcpy(char *dest, const char *src)

使用方法和前面介绍的其他函数类似,有两点需要注意。

如果dest字符串长度不够长,在编译时不会报错,但运行时可能导致问题。

char name[10] = "";char level[100] = "concat test";strcpy(name, level);cout << name << endl;

上面这段代码可以编译运行,但是运行的时候终端会出现出错信息。

C++常用字符串函数有哪些

所以在使用strcpy的时候千万小心,一定要保证dest有足够长度。

如果dest中原本就有内容,会被覆盖。

char name[15] = "abc";char level[100] = "concat test";strcpy(name, level);cout << name << endl;

运行完strcpy之后,name中的内容会被清空。

6、strncpy

strcpy加入长度限制的版本,可额外多传入一个参数n表示最多赋值n个字符。当src长度小于n时,剩余部分将会使用空字节填充。

char *strncpy(char *dest, const char *src, size_t n)char name[15] = "abc";char level[100] = "concat test";strncpy(name, level, 4);cout << name << endl;

输出结果为conc。

7、memset

字符串的批量设置函数,可以将字符串批量设置成某一个字符。

void *memset(void *str, int c, size_t n)

int c表示要被设置的字符,size_t n表示设置的字符数量。

char name[15] = "abc";char level[100] = "concat test";memset(name, 'c', 10);cout << name << endl;

上述代码的运行结果为10个c。

多说一句,memset除了可以用来给字符串进行批量设置之外也可以给int型的数组进行批量设置。由于一个32位的int占据4个字节,也就是4个字符长度。所以使用memset进行批量设置的时候,最终得到的结果将是4个传入的int c拼接的结果。

int a[100];memset(a, 1, sizeof a); // memset(a, 1, 400); 因为一个int占据4个字节

我们这样设置之后,a数组当中的元素并不是1,而是0x01010101,转成10进制是16843009

所以使用memsetint型数组进行初始化一般只用3种操作:

// 1. 批量设置成0memset(a, 0, sizeof a);// 2. 批量设置成-1memset(a, -1, sizeof a);// 3. 批量设置成一个接近最大整数上限的值memset(a, 0x7f, sizeof a);memset(a, 0x3f, sizeof a);

关于memset使用的一些具体细节将在后续题解的实际问题当中再做详细说明。

8、memcpy

strcpy类似,从str2中复制N个字符到str1中。

void *memcpy(void *str1, const void *str2, size_t n)char name[15] = "abc";char level[100] = "concat test";memcpy(name, level, 10);

9、strcmp

将两个字符串按照字典顺序进行比较,对于字典序的顺序定义为:两个字符串自左向右逐个字符相比(按 ASCII 值大小相比较),直到出现不同的字符或遇 \0 为止。

int strcmp(const char *str1, const char *str2)

返回的结果为一个int,如果它小于0,说明str1小于str2,如果它等于0,说明两者相等,如果大于0,说明str1大于str2

char name[15] = "abc";char level[100] = "abcd";cout << strcmp(name, level) << endl;

运行结果为-100,说明name小于level。

10、strncmp

strcmp长度限制版,可以额外接受一个数字n,表示最多比较长度为n的字符。

int strncmp(const char *str1, const char *str2, size_t n)

11、strstr

char *strstr(const char *haystack, const char *needle)

haystack中搜索needle第一次出现的位置,返回指向该位置的指针。

char name[15] = "search-test";char level[100] = "-";char *ret = strstr(name, level);cout << ret << endl;

运行之后,屏幕输出的结果为:

C++常用字符串函数有哪些

因为当我们使用cout输出一个char *变量的时候,它会当做是字符串进行输出,即一直输出字符,直到遇见\0为止。

输出的结果为-test,说明我们通过strstr函数找到了“-”出现的位置,跳过了之前的内容。

到此,相信大家对“C++常用字符串函数有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: C++常用字符串函数有哪些

本文链接: https://www.lsjlt.com/news/304737.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++常用字符串函数有哪些
    本篇内容主要讲解“C++常用字符串函数有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++常用字符串函数有哪些”吧!1、cstring.h常用函数介绍cstring.h库即C语言中的str...
    99+
    2023-06-25
  • php常用字符串函数有哪些
    PHP常用的字符串函数有:- strlen():返回字符串的长度。- strpos():返回字符串中第一次出现指定字符的位置。- s...
    99+
    2023-09-29
    php
  • MySQL常用字符串函数有哪些
    这篇文章主要讲解了“MySQL常用字符串函数有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL常用字符串函数有哪些”吧!CONCAT()CONCAT(str1,s...
    99+
    2023-06-20
  • MySQL常用的字符串函数有哪些
    这篇文章主要介绍了MySQL常用的字符串函数有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 数据库函数是一...
    99+
    2022-10-18
  • 常用的JavaScript字符串函数有哪些
    这篇文章主要介绍“常用的JavaScript字符串函数有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“常用的JavaScript字符串函数有哪些”文章能帮助大家...
    99+
    2022-10-19
  • PHP字符串中常用函数有哪些
    这篇文章主要介绍“PHP字符串中常用函数有哪些”,在日常操作中,相信很多人在PHP字符串中常用函数有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP字符串中常用函数有哪些”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • SQL Server常用的字符串函数有哪些
    本篇内容介绍了“SQL Server常用的字符串函数有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1...
    99+
    2022-10-18
  • 常用PHP字符串转换函数有哪些
    这篇文章主要介绍“常用PHP字符串转换函数有哪些”,在日常操作中,相信很多人在常用PHP字符串转换函数有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”常用PHP字符串转换函数有哪些”的疑惑有所帮助!接下来...
    99+
    2023-07-05
  • C/C++的字符串函数有哪些及怎么用
    这篇“C/C++的字符串函数有哪些及怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C/C++的字符串函数有哪些及怎么用...
    99+
    2023-06-29
  • python字符串有哪些函数
    python中有以下几种常见的字符串处理函数len()函数len()函数的作用是用于计算字符串的长度。strip()函数strip()函数的作用是用于删除字符串两边的空白符。isalpha()函数isalpha()函数的作用是用于判断字符串...
    99+
    2022-10-05
  • java字符串函数有哪些
    java中常用的字符串函数有:1.equals()函数,比较字符串是否相等;2.split()函数,拆分字符串;3.replace()函数,替换字符串;4.indexof()函数,返回字符索引;5.substring()函数,返回...
    99+
    2022-10-12
  • python字符串函数有哪些
    python中的字符串函数:1.capitalize()函数 ,将字符串的第一个字母变成大写;2.swapcase()函数,对字符串的大小写字母进行转换;3.lower()函数 ,将字符串中所有大写字符转换为小写;python中的字符串函数...
    99+
    2022-10-16
  • C/C++中关于字符串的常见函数操作方法有哪些
    本篇内容介绍了“C/C++中关于字符串的常见函数操作方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!wcsncpy_swcsncpy...
    99+
    2023-07-05
  • python中字符串常用的内建函数有哪些
    python中字符串常用的内建函数有以下几种capitalize() 将字符串的第一个字符转换为大写的表示形式。title() 返回的是每个单词的首字母大写。istitle() 判断每个单词的首字母是否是大写,返回结果是布尔类型。upper...
    99+
    2022-10-17
  • JavaScript常用字符串与数组扩展函数有哪些
    本文小编为大家详细介绍“JavaScript常用字符串与数组扩展函数有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript常用字符串与数组扩展函数有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-07-04
  • C++常用字符串函数大全(2)
    目录1、cstring.h常用函数介绍2、strlen3、strcat4、strncat5、strcpy6、strncpy7、memset8、memcpy9、strcmp10、str...
    99+
    2022-11-12
  • C++字符串有哪些用法
    这篇文章主要为大家展示了“C++字符串有哪些用法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++字符串有哪些用法”这篇文章吧。1.C++字符串之 传统字符串a) char ch2[] = {...
    99+
    2023-06-17
  • php中有哪些字符串函数
    php的字符串函数有:1、addcslashes(),返回在指定字符前添加反斜杠的字符串;2、addslashes(),返回在预定义字符前添加反斜杠的字符串;3、bin2hex(),把ASCII字符的字符串转换为十六进制值;4、e...
    99+
    2022-06-29
    php php字符串
  • Oracle 中有哪些字符串函数
    Oracle 中有哪些字符串函数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。----SQL> select greate...
    99+
    2022-10-18
  • MySQL中字符串函数有哪些
    小编给大家分享一下MySQL中字符串函数有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!字符串函数1、返回字符串 s 的第一个字符的 ASCII 码SELEC...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作