文档章节

C++中提供的字符串数组函数

学习环境
 学习环境
发布于 2015/09/23 13:36
字数 537
阅读 160
收藏 1

C++语言为程序设计者提供了一些可以非常方便地处理字符数组的函数。这些函数可以完成字符数组的复制、连接、比较以及查找等操作。

在数组声明时,C++会自动产生一个指向该数组第一个数据元素的指针。当使用数组的名字时,实际上是在使用一个指向该数组的指针。


下面是一些C++中提供的字符串数组函数,给出了它们的原型和调用语句,这些函数的输入都是一个字符指针(char*)。


函数原型    void strcat(char *dest, char *src);

功能:将字符串src连接到字符串dest后面。

例子:

       char s1[30]="I love C++ ";

       char s2[10]="very much!";

       strcat(s1,s2);

       s1中的数据是“I love C++ very much”


函数原型    void strcpy(char *dest, char *src);

功能:将字符串src复制到dest中。

例子:

       char s1[30];

       char s2[30]="I love C++ ";

       strcpy(s1,s2);

       s1中的数据是“I love C++ "


函数原型    int strcmp(char *s1,char *s2);

功能:比较s1和s2,如果相等则返回0,如果s1s2则返回正值。经常在用if和while语句中,或用于对单词进行排序(按字母排序)

例子:

   char s1[15]="apple";

   char s2[15]="banana"

   if(strcmp(s1,"apple"))==0;    //检查s1是不是apple

   if(strcmp(s1,s2)<0);        //但s1在字母表中位于s2之前时,返回true


函数原型    char *strstr(char*,char*);

功能:返回一个指向s1中第一次出现s2处的指针,如果s1中不含有s2,则返回NULL

例子:

   char s1[50]="the rain in spain is mainly on the plan.";

   char s2[10]="elephant";

   char s3[10]="rain";


   char *char_ptr;


   char_ptr=strstr(s1,s2);    //由于s1中没有elephant,char_ptr为NULL

   char_ptr=strstr(s1,s3);    //char_ptr为r在内存中的地址


函数原型    int strlen(char*)

功能:返回字符串的长度,不包括null字符

例子:

   int length;

   char s1[25]="i love c++!";

   length=strlen(s1);    //长度为11


函数原型    char *strncpy(char *dest,char *src,int n)

功能:从src向dest复制字符

例子:

   char s1[10]="abcdef"

   strncpy(s1,"ABC",3);    //s1的值为“ABCdef”


© 著作权归作者所有

学习环境
粉丝 3
博文 51
码字总数 115814
作品 0
长春
私信 提问
《鸡啄米C++编程入门系列》系列技术文章整理收藏

《鸡啄米C++编程入门系列》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201812.html 文章 鸡啄米:C++编程入门系列之前言 鸡啄米:C++编程入门系列之一(进制...

开元中国2015
2015/06/27
88
0
C++ Primer Plus(四)——复合类型

只能在定义数组时才能初始化,不能将一个数组赋值给另一个数组,但可以使用下标分别赋值给数组元素,但可以将一个string对象赋值给另一个string对象 如果只对数组的一部分初始化,其他元素自...

吃一堑消化不良
2015/11/06
120
0
BSTR详解一 -BSTR简介和内部结构

1 Why need BSTR COM是一种跨编程语言的平台,需要提供语言无关的数据类型。多数编程语言有自己的字符串表示。 C++ 字符串是以0结束的ASCII或Unicode字符数组 Visual Basic字符串是一个ASCII...

barsoom
2013/01/17
174
0
C#程序调用非托管C DLL文件的方法

C++中的函数声明 view source print? extern ”C” 通常来说,C++编译器可能会改变函数和变量的名字,从而导致严重的链接程序问题。例如,假设使用C++编写一个DLL,当创建DLL 时,Microsoft...

Yong_Luo
2010/10/01
450
0
C++ Primer 学习笔记(第三章:字符串、向量和数组)

C++ Primer 学习笔记(第三章:字符串、向量和数组) [TOC] 3.1 命名空间的声明 声明语句可以一行放多条。 位于头文件的代码,一般来说不应该使用声明。因为其内容会拷贝到每个使用该头文件的...

ShawnLue
2015/08/20
152
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS 7系统增加swap

转载请注明文章出处:CentOS 7系统增加swap swap是位于磁盘上的特殊文件(或分区),属于“虚拟内存”的一部分。通俗点就是内存的备胎,内存充足的情况下,基本上没swap什么事(和设置有关)...

tlanyan
25分钟前
2
0
基于Prometheus和Grafana的监控平台 - 环境搭建

相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics。 Logging - 用于记录离散的事件。例如,应用程序的调试信息或错误信息。它是我们诊断问题的依据。比如我们说...

JAVA日知录
今天
5
0
PHP运行时全局构造体

struct _php_core_globals { zend_bool magic_quotes_gpc; // 是否对输入的GET/POST/Cookie数据使用自动字符串转义。 zend_bool magic_quotes_runtime; //是否对运行时从外部资源产生的数据使...

冻结not
今天
4
0
webpack插件html-webpack-plugin

本文转载于:专业的前端网站→webpack插件html-webpack-plugin 1、插件安装 npm install html-webpack-plugin --save-dev 2、插件使用 webpack.config.js配置文件为: var htmlWebpackPlugin=...

前端老手
今天
6
0
数据挖掘

zhengchen1996
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部